info window performance in 7.1

Description

Issue: Info window can be really slow on many columns and pagination

TESTED USE CASES
A. regular product info with lot custom column - approx 25 cols (slow)
B. product info simple with fewer columns. up to 10 (fast)

My test case: When I reduce product info from 25 to 5 columns, then the info window was really fast.

Also we got feedback from customer, and reproducible, pagination to the next pages are really slow.

Obeservation: SQL generated by the info window, and the query took in 0,7sec on the server, however, the info window rendered/return rows up to 3-6 sec. This depends on the result (rows returned, if less then performance is better) 4-6 sec around 600 rows.

Due small dataset we can't reproduce on test.idempiere.org. Our tests was done on our multi-tenant production installation, however, this was confirmed from another installation from michalzilincar and AlanLescano.

Alan Lescano, forum thread
I also noticed a slowness, especially when the info window has many columns (>20) and many rows returned. Decreasing the paging size and reducing columns helps a lot. I couldn't investigate much, but I found a suspicious loop that iterates through all cells (rows x columns), to format dates/amounts (localized), and that may be the cause.

Environment

test private instance

Activity

Show:
Igor Pojzl
September 14, 2020, 9:58 AM

Ive found that WInfoWindowListItemRenderer when getting CellComponent was causing for each cell with Table/TableDir Component to refresh its lookup in WTableDirEditor:208. I think it should be considered as BUG, because when we have in Info Window Column selected IsReadOnly checkbox, Table Direct component should have set IsReadWrite as False.

Heng Sin Low
September 14, 2020, 12:07 PM

hi , yes, that’s not correct, it should be readonly for info window. If you have the fix for it, please create a pull request for it.

Igor Pojzl
September 14, 2020, 12:53 PM

Created PR, added passing ReadOnly Parameter from InfoColum to GridField.

Norbert Bede
September 14, 2020, 1:42 PM

Testing 13000 products %kviet% search result approx 1600 rows, pagination is up to 500ms

see screencast.

norbert

Alan Lescano
September 14, 2020, 2:56 PM

Nice catch!

Alan

Assignee

Igor Pojzl

Reporter

Norbert Bede

Labels

None

Tested By

Norbert Bede

Components

Fix versions

Affects versions

Priority

Critical
Configure