Openbravo Issue Tracking System - Retail Modules
View Issue Details
0056788Retail ModulesWeb POSpublic2024-10-15 14:042024-10-30 08:50
malsasua 
malsasua 
normalmajoralways
newopen 
5
 
 
No
0056788: Performance problem on KernelUtils.getModulesOrderedByDependency
the function getModulesOrderedByDependency in KernelUtils is not efficient:
https://gitlab.com/openbravo/product/openbravo/-/blob/release/24Q4/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java?ref_type=heads#L275 [^]

This function is executed for each login, and when a lot of logins are done simultaneously after restart tomcat, it could cause a performance issue
restart tomcat and do multiple logins simultaneously
similar fix to
https://issues.openbravo.com/view.php?id=49546 [^]
No tags attached.
Issue History
2024-10-15 14:04malsasuaNew Issue
2024-10-15 14:04malsasuaAssigned To => Retail
2024-10-15 14:04malsasuaTriggers an Emergency Pack => No
2024-10-15 17:07malsasuaDescription Updatedbug_revision_view_page.php?rev_id=28593#r28593
2024-10-15 17:07malsasuaSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=28595#r28595
2024-10-17 06:45guillermogilAssigned ToRetail => Triage Platform Base
2024-10-17 11:18AugustoMauchAssigned ToTriage Platform Base => malsasua
2024-10-17 11:19AugustoMauchNote Added: 0170525
2024-10-17 11:20AugustoMauchStatusnew => feedback
2024-10-30 08:50malsasuaNote Added: 0171136
2024-10-30 08:50malsasuaNote Deleted: 0171136
2024-10-30 08:50malsasuaNote Added: 0171137
2024-10-30 08:50malsasuaStatusfeedback => new

Notes
(0170525)
AugustoMauch   
2024-10-17 11:19   
@Miguel, what you report is surprising because getModulesOrderedByDependency is caching the result, so even if it is executed often, it will only be costly once: https://gitlab.com/openbravo/product/openbravo/-/blob/master/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java#L252. [^]

Can you share with us the research that was done to determine getModulesOrderedByDependency is causing performance problems?
(0171137)
malsasua   
2024-10-30 08:50   
In the jstack, we saw dozens of threads halted during the process.

The issue occurred because Tomcat was restarted while the stores were open. As a result, when Tomcat started, a large number of login requests came in simultaneously.