Openbravo Issue Tracking System - POS2
View Issue Details
0058196POS2Fashionpublic2025-02-25 14:232025-03-11 10:54
sofidossant 
caristu 
highmajoralways
closedfixed 
5
pi 
25Q1.1 
approved
OBPS
122020
No
0058196: Performance: Slowness loading the Product window using the Openbravo Retail fashion module
Getting results on the grid of the Product window takes long having thousands of Products and when using the REtail fashion module, and showing the 3 property filed related to color, size and season.


Analyzing the query executed by the grid it is fast (few ms) but the grid takes long to show.

By debugging the code, we can see that a lot of queries are done after the query is finished to show information on the grid.
The query is the following:

https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/blob/master/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/materialmgmt/RelevantCharacteristicAdditionalPropertyResolver.java#L81 [^]


There are 1632677 rows in ad_tree_node, and the query tools 300ms to finish, and the query is executed for all the results of the grid, so it takes longer to finish and show the data.
- On an environment with the retails fashion installed and a big number of records in the ad_treenode table
- Have characteristics and show the color, size and season table
- Open the product window

It takes seconds to show the data

CREATE INDEX IF NOT EXISTS ad_treenode_nodeid
    ON public.ad_treenode USING btree
    (node_id COLLATE pg_catalog."default" ASC NULLS LAST)
    TABLESPACE pg_default;
No tags attached.
blocks defect 0058073 closed caristu Performance: Slowness loading the Product window using the Openbravo Retail fashion module 
Issue History
2025-03-11 10:42caristuTypedefect => backport
2025-03-11 10:42caristuTarget Version => 25Q1.1
2025-03-11 10:48hgbotNote Added: 0176652
2025-03-11 10:54hgbotNote Added: 0176654
2025-03-11 10:54hgbotResolutionopen => fixed
2025-03-11 10:54hgbotStatusscheduled => closed
2025-03-11 10:54hgbotFixed in Version => PR25Q1.1
2025-03-11 10:54hgbotNote Added: 0176655

Notes
(0176652)
hgbot   
2025-03-11 10:48   
Merge Request created: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/merge_requests/1578 [^]
(0176654)
hgbot   
2025-03-11 10:54   
Merge request merged: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/merge_requests/1578 [^]
(0176655)
hgbot   
2025-03-11 10:54   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo [^]
Changeset: 64e141da54510d78fc3151cc3366f14be4048df4
Author: Carlos Aristu <c.aristu@orisha.com>
Date: 11-03-2025 10:46:04
URL: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/commit/64e141da54510d78fc3151cc3366f14be4048df4 [^]

fixes BUG-58196: slow calc of prod char fields with many records in ad_trenode

  By modifying the existing query to filter by AD_TREE_ID also, an index
scan is done using the existing AD_TREENODE_TREE_NODE_UN unique
constraint which makes the query be faster.

---
M modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/materialmgmt/RelevantCharacteristicAdditionalPropertyResolver.java
---