Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0034015Openbravo ERPI. Performancepublic2016-09-14 13:292016-09-19 11:41
gorkaion 
gorkaion 
normalminorhave not tried
closedfixed 
5
 
3.0PR16Q2.33.0PR16Q2.3 
aferraz
Core
No
0034015: Slow login loading organization's default ledgers
On a system with +200 organizations the login can take more than 2 seconds. In particular OBLedgerUtils.getOrgLedgerRecursive() method's query takes more 1.5 seconds.
On a system with +200 organizations try to login.
Check that the mentioned method takes too much time by adding some logs or measuring it with YourKit.
remove the query that filters and order by slow ad_isorgincluded procedure
No tags attached.
blocks defect 0033989 closed gorkaion Slow login loading organization's default ledgers 
Issue History
2016-09-19 11:30aferrazTypedefect => backport
2016-09-19 11:30aferrazTarget Version => 3.0PR16Q2.3
2016-09-19 11:35hgbotCheckin
2016-09-19 11:35hgbotNote Added: 0090056
2016-09-19 11:35hgbotStatusscheduled => resolved
2016-09-19 11:35hgbotResolutionopen => fixed
2016-09-19 11:35hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/pi/rev/dcaf5195237ab27b1d8b9017894d625d9d6cadb6 [^] => http://code.openbravo.com/erp/backports/3.0PR16Q2.3/rev/4db7dc37c08e2a34717359c11209bfeb52c699ff [^]
2016-09-19 11:35hgbotCheckin
2016-09-19 11:35hgbotNote Added: 0090057
2016-09-19 11:41aferrazNote Added: 0090058
2016-09-19 11:41aferrazStatusresolved => closed
2016-09-19 11:41aferrazFixed in Version => 3.0PR16Q2.3

Notes
(0090056)
hgbot   
2016-09-19 11:35   
Repository: erp/backports/3.0PR16Q2.3
Changeset: 4db7dc37c08e2a34717359c11209bfeb52c699ff
Author: Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
Date: Wed Sep 14 13:39:12 2016 +0200
URL: http://code.openbravo.com/erp/backports/3.0PR16Q2.3/rev/4db7dc37c08e2a34717359c11209bfeb52c699ff [^]

Fixed issue 34015. Removed slow query getting Organization Ledger.

The method to get the default General Ledget was using a query that filtered
and sorted the results using ad_isorgincluded procedure. In case of having a
large number of organizations this query was slow.

The method is now using the OrganizationStructureProvider to get the parent
organization List of the required org to search the default General Ledger.

---
M src/org/openbravo/erpCommon/utility/OBLedgerUtils.java
---
(0090057)
hgbot   
2016-09-19 11:35   
Repository: erp/backports/3.0PR16Q2.3
Changeset: bcc107f2b0b0c77d9a49f170f6d488cf80fb2495
Author: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
Date: Mon Sep 19 11:14:46 2016 +0200
URL: http://code.openbravo.com/erp/backports/3.0PR16Q2.3/rev/bcc107f2b0b0c77d9a49f170f6d488cf80fb2495 [^]

Related to issue 34015: Code review improvements

- Avoid setting admin mode in getOrgLedgerRecursive() and getClientLedger() methods as it is already done in getOrgLedger() method in OBLedgerUtils class.
- Retrieve first, general ledger of login organization in LoginUtils class. If no result is retrieved, we will retrieve general ledger of rest of context organizations.

---
M src/org/openbravo/base/secureApp/LoginUtils.java
M src/org/openbravo/erpCommon/utility/OBLedgerUtils.java
---
(0090058)
aferraz   
2016-09-19 11:41   
Code review + Testing OK