Project:
| View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
| ID | ||||||||
| 0033162 | ||||||||
| Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
| defect | [Retail Modules] Web POS | major | have not tried | 2016-06-06 15:05 | 2017-11-30 09:29 | |||
| Reporter | shuehner | View Status | public | |||||
| Assigned To | shuehner | |||||||
| Priority | normal | Resolution | fixed | Fixed in Version | RR16Q3 | |||
| Status | closed | Fix in branch | Fixed in SCM revision | fa428be2be90 | ||||
| Projection | none | ETA | none | Target Version | ||||
| OS | Any | Database | Any | Java version | ||||
| OS Version | Database version | Ant version | ||||||
| Product Version | SCM revision | |||||||
| Merge Request Status | ||||||||
| Review Assigned To | marvintm | |||||||
| OBNetwork customer | No | |||||||
| Support ticket | ||||||||
| Regression level | ||||||||
| Regression date | ||||||||
| Regression introduced in release | ||||||||
| Regression introduced by commit | ||||||||
| Triggers an Emergency Pack | No | |||||||
| Summary | 0033162: CashCloseProcessor.createReconciliation missing limit 1 to find last created one (reads all) | |||||||
| Description | The code in createReconciliation wants to read the last reconciliation (ordered b y date) but does not add any limit to query. so instead it loads all of the entries (for this account) instead of the single entry it needs. | |||||||
| Steps To Reproduce | OBCriteria<FIN_Reconciliation> reconciliationsForAccount = OBDal.getInstance() .createCriteria(FIN_Reconciliation.class); reconciliationsForAccount.add(Restrictions.eq("account", account)); reconciliationsForAccount.addOrderBy("creationDate", false); List<FIN_Reconciliation> reconciliations = reconciliationsForAccount.list(); if (reconciliations.size() == 0) { startingBalance = account.getInitialBalance(); } else { startingBalance = reconciliations.get(0).getEndingBalance(); } | |||||||
| Proposed Solution | add setMaxResults(1) | |||||||
| Tags | Performance | |||||||
| Attached Files | ||||||||
Relationships [ Relation Graph ]
[ Dependency Graph ]
|
||||||||
|
||||||||
Notes |
|
|
(0087127) hgbot (developer) 2016-06-09 15:47 |
Repository: erp/pmods/org.openbravo.retail.posterminal Changeset: b18bd83d82767561f17fe32d827914fe6f73d9ec Author: Stefan Hühner <stefan.huehner <at> openbravo.com> Date: Tue Jun 07 17:08:23 2016 +0200 URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/b18bd83d82767561f17fe32d827914fe6f73d9ec [^] Issue 33162. Reformat code before applying fix. --- M src/org/openbravo/retail/posterminal/CashCloseProcessor.java --- |
|
(0087128) hgbot (developer) 2016-06-09 15:47 |
Repository: erp/pmods/org.openbravo.retail.posterminal Changeset: ee2aa06af166b613e26d63fa3ff302ffce35f4b8 Author: Stefan Hühner <stefan.huehner <at> openbravo.com> Date: Tue Jun 07 17:10:14 2016 +0200 URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/ee2aa06af166b613e26d63fa3ff302ffce35f4b8 [^] Fixed 33162. Add 'limit 1' to query to avoid processing/loading all rows. The query needs to find the latest FIN_Reconciliations for a account (order by date) to get its ending balance. However it did not hav a Limit 1 applied to the query so processes all rows for this account and loaded all those rows into java memory even when needing only 1. --- M src/org/openbravo/retail/posterminal/CashCloseProcessor.java --- |
|
(0087136) shuehner (administrator) 2016-06-09 15:56 |
Raising to major as without it could trigger very high memory usage depending on number of transaction in the used account. -> Candidate for backport to Q1 + Q2 |
|
(0088191) hgbot (developer) 2016-07-05 10:09 |
Repository: retail/backports/3.0RR16Q2.1/org.openbravo.retail.posterminal Changeset: d6f5c8598ec47453879b1a9486d87c820ec35334 Author: Stefan Hühner <stefan.huehner <at> openbravo.com> Date: Tue Jun 07 17:08:23 2016 +0200 URL: http://code.openbravo.com/retail/backports/3.0RR16Q2.1/org.openbravo.retail.posterminal/rev/d6f5c8598ec47453879b1a9486d87c820ec35334 [^] Issue 33162. Reformat code before applying fix. --- M src/org/openbravo/retail/posterminal/CashCloseProcessor.java --- |
|
(0088192) hgbot (developer) 2016-07-05 10:09 |
Repository: retail/backports/3.0RR16Q2.1/org.openbravo.retail.posterminal Changeset: fa428be2be9030fe1c20d4f44b119552f7a261f6 Author: Stefan Hühner <stefan.huehner <at> openbravo.com> Date: Tue Jun 07 17:10:14 2016 +0200 URL: http://code.openbravo.com/retail/backports/3.0RR16Q2.1/org.openbravo.retail.posterminal/rev/fa428be2be9030fe1c20d4f44b119552f7a261f6 [^] Fixed 33162. Add 'limit 1' to query to avoid processing/loading all rows. The query needs to find the latest FIN_Reconciliations for a account (order by date) to get its ending balance. However it did not hav a Limit 1 applied to the query so processes all rows for this account and loaded all those rows into java memory even when needing only 1. --- M src/org/openbravo/retail/posterminal/CashCloseProcessor.java --- |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2016-06-06 15:05 | shuehner | New Issue | |
| 2016-06-06 15:05 | shuehner | Assigned To | => Retail |
| 2016-06-06 15:05 | shuehner | OBNetwork customer | => No |
| 2016-06-06 15:05 | shuehner | Triggers an Emergency Pack | => No |
| 2016-06-06 15:05 | shuehner | Tag Attached: Performance | |
| 2016-06-09 15:47 | hgbot | Checkin | |
| 2016-06-09 15:47 | hgbot | Note Added: 0087127 | |
| 2016-06-09 15:47 | hgbot | Checkin | |
| 2016-06-09 15:47 | hgbot | Note Added: 0087128 | |
| 2016-06-09 15:47 | hgbot | Status | new => resolved |
| 2016-06-09 15:47 | hgbot | Resolution | open => fixed |
| 2016-06-09 15:47 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/ee2aa06af166b613e26d63fa3ff302ffce35f4b8 [^] |
| 2016-06-09 15:55 | shuehner | Assigned To | Retail => shuehner |
| 2016-06-09 15:56 | shuehner | Review Assigned To | => marvintm |
| 2016-06-09 15:56 | shuehner | Note Added: 0087136 | |
| 2016-06-09 15:56 | shuehner | Severity | minor => major |
| 2016-06-10 09:08 | marvintm | Status | resolved => new |
| 2016-06-10 09:08 | marvintm | Resolution | fixed => open |
| 2016-06-10 09:09 | marvintm | Status | new => scheduled |
| 2016-06-10 09:09 | marvintm | Status | scheduled => resolved |
| 2016-06-10 09:09 | marvintm | Fixed in Version | => RR15Q3 |
| 2016-06-10 09:09 | marvintm | Resolution | open => fixed |
| 2016-06-10 09:09 | marvintm | Status | resolved => closed |
| 2016-07-05 10:09 | hgbot | Checkin | |
| 2016-07-05 10:09 | hgbot | Note Added: 0088191 | |
| 2016-07-05 10:09 | hgbot | Checkin | |
| 2016-07-05 10:09 | hgbot | Note Added: 0088192 | |
| 2016-07-05 10:09 | hgbot | Status | closed => resolved |
| 2016-07-05 10:09 | hgbot | Fixed in SCM revision | http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/ee2aa06af166b613e26d63fa3ff302ffce35f4b8 [^] => http://code.openbravo.com/retail/backports/3.0RR16Q2.1/org.openbravo.retail.posterminal/rev/fa428be2be9030fe1c20d4f44b119552f7a261f6 [^] |
| 2016-07-05 10:11 | migueldejuana | Status | resolved => closed |
| 2017-11-30 09:29 | shuehner | Fixed in Version | RR15Q3 => RR16Q3 |
| Copyright © 2000 - 2009 MantisBT Group |