Performance issue on Grid Filters - getStream called per row
Filters on Grid header takes more time to load unique values.
Grid data is loaded from data page and it is just looping the page list to get the unique values.
1. Click on Filter in any one of the column.
2. Click on first column
2. Loaded filter screen and it took 12s to load filter screen(grid has 1400 rows)
4783 stream rules are executed from ‘pzGetGridColUniqueValues’ activity in 3 step java code and the time seemed to be taken up (can be around 6 seconds for a large pagelist) in the pzGetGridColUniqueValues in step 3.
This calls a stream rule (getStream) for every row in the grid even though it is only displaying a small number of filter selections, which causes the issue.
Error MessagesNot applicable.
Steps to Reproduce1. Create a Repeat grid layout.
2.Enable filters on grid header.
3. Load screen with 1500 rows of data.
4. Click Filter icon. It will take long time load filter screen with unique value list.
Root CauseA defect in Pegasystems’ code or rules.
According to a previous hotfix Engineering did some changes to avoid the tools.getStream when it is filter by value.
User updated the logic in pzUniqueValuesGridFields and pzGetGridColUniqueValues to consider the value of pyShowFilterUIBy.
Published September 12, 2016 - Updated September 19, 2016