Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0034015
TypeCategorySeverityReproducibilityDate SubmittedLast Update
backport[Openbravo ERP] I. Performanceminorhave not tried2016-09-14 13:292016-09-19 11:41
ReportergorkaionView Statuspublic 
Assigned Togorkaion 
PrioritynormalResolutionfixedFixed in Version3.0PR16Q2.3
StatusclosedFix in branchFixed in SCM revision4db7dc37c08e
ProjectionnoneETAnoneTarget Version3.0PR16Q2.3
OSAnyDatabasePostgreSQLJava version
OS VersionDatabase version9.4Ant version
Product VersionSCM revision 
Review Assigned Toaferraz
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0034015: Slow login loading organization's default ledgers

DescriptionOn 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.
Steps To ReproduceOn 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.
Proposed Solutionremove the query that filters and order by slow ad_isorgincluded procedure
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
blocks defect 0033989 closedgorkaion Slow login loading organization's default ledgers 

-  Notes
(0090056)
hgbot (developer)
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 (developer)
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 (developer)
2016-09-19 11:41

Code review + Testing OK

- Issue History
Date Modified Username Field Change
2016-09-19 11:30 aferraz Type defect => backport
2016-09-19 11:30 aferraz Target Version => 3.0PR16Q2.3
2016-09-19 11:35 hgbot Checkin
2016-09-19 11:35 hgbot Note Added: 0090056
2016-09-19 11:35 hgbot Status scheduled => resolved
2016-09-19 11:35 hgbot Resolution open => fixed
2016-09-19 11:35 hgbot Fixed in SCM revision http://code.openbravo.com/erp/devel/pi/rev/dcaf5195237ab27b1d8b9017894d625d9d6cadb6 [^] => http://code.openbravo.com/erp/backports/3.0PR16Q2.3/rev/4db7dc37c08e2a34717359c11209bfeb52c699ff [^]
2016-09-19 11:35 hgbot Checkin
2016-09-19 11:35 hgbot Note Added: 0090057
2016-09-19 11:41 aferraz Note Added: 0090058
2016-09-19 11:41 aferraz Status resolved => closed
2016-09-19 11:41 aferraz Fixed in Version => 3.0PR16Q2.3


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker