Support Article
Performance issue on Grid Filters - getStream called per row
SA-27840
Summary
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 Messages
Not applicable.
Steps to Reproduce
1. 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 Cause
A 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.
Resolution
Apply HFix-29364.
Published September 20, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.