Openbravo Issue Tracking System - Openbravo ERP | ||||||||||||||||||||||||||
| View Issue Details | ||||||||||||||||||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | |||||||||||||||||||||
| 0033602 | Openbravo ERP | 09. Financial management | public | 2016-08-02 15:36 | 2016-08-02 15:51 | |||||||||||||||||||||
| Reporter | shuehner | |||||||||||||||||||||||||
| Assigned To | Triage Omni OMS | |||||||||||||||||||||||||
| Priority | normal | Severity | minor | Reproducibility | have not tried | |||||||||||||||||||||
| Status | new | Resolution | open | |||||||||||||||||||||||
| Platform | OS | 5 | OS Version | |||||||||||||||||||||||
| Product Version | ||||||||||||||||||||||||||
| Target Version | Fixed in Version | |||||||||||||||||||||||||
| Merge Request Status | ||||||||||||||||||||||||||
| Review Assigned To | ||||||||||||||||||||||||||
| OBNetwork customer | No | |||||||||||||||||||||||||
| Web browser | ||||||||||||||||||||||||||
| Modules | Core | |||||||||||||||||||||||||
| Support ticket | ||||||||||||||||||||||||||
| Regression level | ||||||||||||||||||||||||||
| Regression date | ||||||||||||||||||||||||||
| Regression introduced in release | ||||||||||||||||||||||||||
| Regression introduced by commit | ||||||||||||||||||||||||||
| Triggers an Emergency Pack | No | |||||||||||||||||||||||||
| Summary | 0033602: LoginUtils.fillSessionArguments (query Attribute.selectOrgCurrency quite slow) around 100ms with many orgs | |||||||||||||||||||||||||
| Description | In bigger db with 524 organization the query from selectOrgCurrency can be quite slow with runtime around 100ms Problem is that it runs the ad_isorgincluded for all organizations whose runtime sums up a lot. Looking at the query it seems that only values from ad_org which is input and any parent orgs are of interest. Assuming that is correct adding a filter of the ad_org id's of all parents can speed up the query a lot. As the caller in fillSessionArguments did already construct the OrgTree that parent info is easily accessible. Note: Had to open up access to getAscendantTree from private to package level access to use it (note before+after still not part of public api so change should be fine). Attached patch seems to work given the assumption mentioned above is correct. But only very lightly tested. | |||||||||||||||||||||||||
| Steps To Reproduce | - | |||||||||||||||||||||||||
| Proposed Solution | ||||||||||||||||||||||||||
| Additional Information | ||||||||||||||||||||||||||
| Tags | Performance | |||||||||||||||||||||||||
| Relationships |
| |||||||||||||||||||||||||
| Attached Files | https://issues-new.openbravo.com/file_download.php?file_id=9667&type=bug | |||||||||||||||||||||||||
| Issue History | ||||||||||||||||||||||||||
| Date Modified | Username | Field | Change | |||||||||||||||||||||||
| 2016-08-02 15:36 | shuehner | New Issue | ||||||||||||||||||||||||
| 2016-08-02 15:36 | shuehner | Assigned To | => Triage Finance | |||||||||||||||||||||||
| 2016-08-02 15:36 | shuehner | OBNetwork customer | => No | |||||||||||||||||||||||
| 2016-08-02 15:36 | shuehner | Modules | => Core | |||||||||||||||||||||||
| 2016-08-02 15:36 | shuehner | Triggers an Emergency Pack | => No | |||||||||||||||||||||||
| 2016-08-02 15:36 | shuehner | Tag Attached: Performance | ||||||||||||||||||||||||
| 2016-08-02 15:37 | shuehner | File Added: 33602_prototype.diff | ||||||||||||||||||||||||
| 2016-08-02 15:51 | shuehner | Note Added: 0088754 | ||||||||||||||||||||||||
| 2016-08-12 12:04 | dmitry_mezentsev | Relationship added | related to 0033650 | |||||||||||||||||||||||
| 2016-08-23 14:56 | shuehner | Relationship added | related to 0033605 | |||||||||||||||||||||||
| 2017-11-10 11:21 | caristu | Relationship added | related to 0035989 | |||||||||||||||||||||||
| Notes | |||||
|
|
|||||
|
|
||||