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 12, 2016 - Updated September 19, 2016

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.