Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0029188Openbravo ERP04. Warehouse managementpublic2015-03-03 18:302015-04-01 14:02
umartirena 
umartirena 
highmajoralways
closedfixed 
5
 
3.0PR15Q1.33.0PR15Q1.3 
Sandrahuguet
Core
No
0029188: Performance Problems on Costing Background process
Running Costing Background process on an environment with a lot of transactions to be calculated (200.000), it consumes a lot of memory and cpu, and it does not finish.
We have an environment with a lot of transactions in which the problem is reproduced.

Launch Costing Background process.
Approved
blocks defect 0029118 closed umartirena Performance Problems on Costing Background process 
Issue History
2015-03-09 09:21umartirenaTypedefect => backport
2015-03-09 09:21umartirenaTarget Version => 3.0PR15Q1.2
2015-03-27 13:31SandrahuguetTarget Version3.0PR15Q1.2 => 3.0PR15Q1.3
2015-04-01 10:47hgbotCheckin
2015-04-01 10:47hgbotNote Added: 0076288
2015-04-01 10:47hgbotStatusscheduled => resolved
2015-04-01 10:47hgbotResolutionopen => fixed
2015-04-01 10:47hgbotFixed in SCM revision => http://code.openbravo.com/erp/backports/3.0PR15Q1.3/rev/dbad9bc87bbda4a186943b37333a1bdcbf55254d [^]
2015-04-01 10:49SandrahuguetReview Assigned To => Sandrahuguet
2015-04-01 10:49SandrahuguetNote Added: 0076292
2015-04-01 10:49SandrahuguetStatusresolved => closed
2015-04-01 10:49SandrahuguetFixed in Version => 3.0PR15Q1.3
2015-04-01 14:02dmitry_mezentsevTag Attached: Approved

Notes
(0076288)
hgbot   
2015-04-01 10:47   
Repository: erp/backports/3.0PR15Q1.3
Changeset: dbad9bc87bbda4a186943b37333a1bdcbf55254d
Author: Unai Martirena <unai.martirena <at> openbravo.com>
Date: Wed Mar 04 16:09:33 2015 +0100
URL: http://code.openbravo.com/erp/backports/3.0PR15Q1.3/rev/dbad9bc87bbda4a186943b37333a1bdcbf55254d [^]

Fixes bug 29188: Performance improved in Costing Background process.

There are two methods in Costing Background process in which an ScrollableResult is built and iterated. 'setCalculatedTransactionsAsProcessed' and 'setCalculatedTransactionsAsProcessed'. This loops where causing Out of memory issues because they were not flushing and clearing session every little amount of iterations. Apart from this, the two ScrollableResults were leaving opened, which may cause lot of issues especially in Oracle.

Finally, these methods have been implemented in another way. Directly updating all the records on a single update in hql. In this way the performance is improved even adding flush and clear on the previously loops.

---
M src/org/openbravo/costing/CostingBackground.java
---
(0076292)
Sandrahuguet   
2015-04-01 10:49   
Code review + testing OK