Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0032023 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Openbravo ERP] 04. Warehouse management | major | always | 2016-01-27 13:09 | 2016-07-20 11:34 | |||
Reporter | ioritzCia | View Status | public | |||||
Assigned To | aferraz | |||||||
Priority | high | Resolution | fixed | Fixed in Version | 3.0PR16Q2 | |||
Status | closed | Fix in branch | Fixed in SCM revision | ca36991325a4 | ||||
Projection | none | ETA | none | Target Version | 3.0PR16Q2 | |||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | dmiguelez | |||||||
Web browser | Google Chrome | |||||||
Modules | Core | |||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0032023: CostingUtils.getCurrentValuedStock method consumes unneeded memory | |||||||
Description | getCurrentValuedStock method in CostingUtils class consumes more memory than it should. It lists the query results where it should use scrolling technique for it. It should also be evaluated if all the calculation could be done in one query instead of having to loop. Also with new fields added in cost adjustment developments, the joins to the MaterialTransaction and ShipmentInOut tables are not necessary, neither is the grouping and a couple of coalesces done in the query. | |||||||
Steps To Reproduce | Execute the costing background process. | |||||||
Tags | Performance | |||||||
Attached Files | ||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | ||||||||||||||||||||||
|
Notes | |
(0084361) hgbot (developer) 2016-02-19 12:39 |
Repository: erp/devel/pi Changeset: ca36991325a4e9680fbbb9fd36c755ae3f5500de Author: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> Date: Mon Feb 15 19:53:12 2016 +0100 URL: http://code.openbravo.com/erp/devel/pi/rev/ca36991325a4e9680fbbb9fd36c755ae3f5500de [^] Fixes issue 32023 & Fixes issue 32190: Improve PriceDifference performance Some improvements have been done in CostingUtils.getCurrentValuedStock, CostAdjustmentUtils.getValuedStockOnMovementDateByAttrAndLocator, CostAdjustmentUtils.getValuedStockOnTransactionDate and CostingMigrationProcess.getCurrentValuedStock methods: - Use TransactionCost.PROPERTY_ACCOUNTINGDATE field instead of coalesce(ShipmentInOut.PROPERTY_ACCOUNTINGDATE, MaterialTransaction.PROPERTY_MOVEMENTDATE) to avoid join with ShipmentInOutLine and ShipmentInOut tables. - Use a scroll instead of looping through a list. - Loop can not be avoid due to the need of calculate conversion rate recursively. - Clear every 100 loops will not be done as DAL objects will not be loaded in memory and to avoid session cleared errors. Retrieve only one or two results in some queries where more results were not needed. Use isEmpty() instead of size(). Retrieve only lineno field instead of full object in CostAdjustmentUtils.getNewLineNo method. Improve CostAdjustmentUtils.getTrxCost method. Do a clear every 100 loops in PriceDifferenceProcess.processPriceDifference method to improve performance. --- M src/org/openbravo/costing/AverageAlgorithm.java M src/org/openbravo/costing/AverageCostAdjustment.java M src/org/openbravo/costing/CostAdjustmentUtils.java M src/org/openbravo/costing/CostingMigrationProcess.java M src/org/openbravo/costing/CostingUtils.java M src/org/openbravo/costing/PriceDifferenceProcess.java --- |
(0084363) dmiguelez (developer) 2016-02-19 12:39 |
Code Review + Testing Ok |
(0085155) hudsonbot (developer) 2016-03-17 10:56 |
A changeset related to this issue has been promoted main and to the Central Repository, after passing a series of tests. Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/b22fb0500156 [^] Maturity status: Test |
Issue History | |||
Date Modified | Username | Field | Change |
2016-01-27 13:09 | ioritzCia | New Issue | |
2016-01-27 13:09 | ioritzCia | Assigned To | => Triage Finance |
2016-01-27 13:09 | ioritzCia | Web browser | => Google Chrome |
2016-01-27 13:09 | ioritzCia | Modules | => Core |
2016-01-27 13:09 | ioritzCia | Triggers an Emergency Pack | => No |
2016-01-27 13:09 | ioritzCia | Tag Attached: Performance | |
2016-01-27 13:43 | ioritzCia | Web browser | Google Chrome => Google Chrome |
2016-01-27 13:45 | ioritzCia | Web browser | Google Chrome => Google Chrome |
2016-01-28 18:16 | ngarcia | Issue Monitored: ngarcia | |
2016-01-28 18:20 | ngarcia | Web browser | Google Chrome => Google Chrome |
2016-01-28 18:20 | ngarcia | Resolution time | => 1456873200 |
2016-02-04 14:08 | aferraz | Assigned To | Triage Finance => aferraz |
2016-02-04 14:08 | aferraz | Status | new => scheduled |
2016-02-12 13:53 | aferraz | Relationship added | related to 0032190 |
2016-02-19 12:39 | hgbot | Checkin | |
2016-02-19 12:39 | hgbot | Note Added: 0084361 | |
2016-02-19 12:39 | hgbot | Status | scheduled => resolved |
2016-02-19 12:39 | hgbot | Resolution | open => fixed |
2016-02-19 12:39 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/devel/pi/rev/ca36991325a4e9680fbbb9fd36c755ae3f5500de [^] |
2016-02-19 12:39 | dmiguelez | Review Assigned To | => dmiguelez |
2016-02-19 12:39 | dmiguelez | Note Added: 0084363 | |
2016-02-19 12:39 | dmiguelez | Status | resolved => closed |
2016-03-17 10:56 | hudsonbot | Checkin | |
2016-03-17 10:56 | hudsonbot | Note Added: 0085155 | |
2016-07-20 11:31 | aferraz | Relationship added | related to 0033411 |
2016-07-20 11:32 | aferraz | Web browser | Google Chrome => Google Chrome |
2016-07-20 11:32 | aferraz | Fixed in Version | => 3.0PR16Q2 |
2016-07-20 11:34 | aferraz | Web browser | Google Chrome => Google Chrome |
2016-07-20 11:34 | aferraz | Target Version | => 3.0PR16Q2 |
2017-05-09 12:31 | aferraz | Relationship added | related to 0035959 |
Copyright © 2000 - 2009 MantisBT Group |