Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0039672Openbravo ERP09. Financial managementpublic2018-11-22 09:392018-12-13 00:22
Sandrahuguet 
Sandrahuguet 
normalminorhave not tried
closedfixed 
30Openbravo Appliance 14.04
 
3.0PR19Q1 
vmromanos
Core
Production - Confirmed Stable
2017-03-11
3.0PR17Q2
https://code.openbravo.com/erp/devel/pi/rev/498699b38a5d0ddb368c9be379e25eb2732ee091 [^]
No
0039672: Improve contention problems in fin_financial_account
In order to avoid concurrency problems when the current balance is calculated a lock was added in issue 35137. This lock is necessary, but is possible to reduce the lock and calculate the current balance at the end of the process.
- In order to easily simulate the 2 transactions are processed at same time it is necessary to set a break-point just after execution of following code :

financialAccount.setCurrentBalance(financialAccount.getCurrentBalance().subtract(transaction.getDepositAmount()).add(transaction.getPaymentAmount()));

- Go to Payment In and create a payment:
  Organization: F&B España - Region Norte
  Received From: Alimentos y Supermercados, S.A
  Payment Method: Transferencia
  Deposit To: Cuenta de Banco - EUR
  Amount: 100
  In Add details - > Overpayment Action: Leave the credit to be used later
  Done and execution should be stopped in previous break-point

- Open "new incognito window" in Chrome and access
  Go to Payment In and create a new payment:
  Organization: F&B España - Region Norte
  Received From: Restaurantes Luna Llena, S.A.
  Payment Method: Transferencia
  Deposit To: Cuenta de Banco - EUR
  Amount: 200
  Click in add details, the popup does not open, save the header is locked
Performance
related to defect 0035137 closed AtulOpenbravo Concurrency problem: current balance wrongly calculated when 2 transactions are processed at same time 
depends on backport 00397533.0PR18Q4.1 closed Sandrahuguet Improve contention problems in fin_financial_account 
depends on backport 00397543.0PR18Q3.4 closed Sandrahuguet Improve contention problems in fin_financial_account 
depends on defect 0039755 closed Sandrahuguet It would be nice to have a method to use lock "FOR NO KEY UPDATE" 
related to defect 0039717 closed alostale unnecesary contention to create new documents in UI 
diff improveLocksTransactionProcess.diff (4,729) 2018-11-22 09:54
https://issues.openbravo.com/file_download.php?file_id=12379&type=bug
Issue History
2018-11-22 09:39SandrahuguetNew Issue
2018-11-22 09:39SandrahuguetAssigned To => Triage Finance
2018-11-22 09:39SandrahuguetModules => Core
2018-11-22 09:39SandrahuguetTriggers an Emergency Pack => No
2018-11-22 09:53SandrahuguetSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=17949#r17949
2018-11-22 09:54SandrahuguetRelationship addedrelated to 0035137
2018-11-22 09:54SandrahuguetTag Attached: Performance
2018-11-22 09:54SandrahuguetFile Added: improveLocksTransactionProcess.diff
2018-11-29 11:51alostaleIssue Monitored: alostale
2018-11-29 12:17alostaleRelationship addedrelated to 0039717
2018-11-30 16:07galderromoIssue Monitored: galderromo
2018-12-03 13:04alostaleNote Added: 0108224
2018-12-04 15:10SandrahuguetRegression level => Production - Confirmed Stable
2018-12-04 15:10SandrahuguetRegression date => 2017-03-11
2018-12-04 15:10SandrahuguetRegression introduced in release => 3.0PR17Q2
2018-12-04 15:10SandrahuguetRegression introduced by commit => https://code.openbravo.com/erp/devel/pi/rev/498699b38a5d0ddb368c9be379e25eb2732ee091 [^]
2018-12-04 15:14SandrahuguetStatusnew => scheduled
2018-12-04 15:28SandrahuguetRelationship addeddepends on 0039755
2018-12-04 15:29SandrahuguetAssigned ToTriage Finance => Sandrahuguet
2018-12-05 13:19SandrahuguetReview Assigned To => vmromanos
2018-12-05 15:21SandrahuguetTarget Version3.0PR19Q2 =>
2018-12-05 15:21hgbotCheckin
2018-12-05 15:21hgbotNote Added: 0108284
2018-12-05 15:21hgbotStatusscheduled => resolved
2018-12-05 15:21hgbotResolutionopen => fixed
2018-12-05 15:21hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/708c5c4d51a03e583ff99b46dd4e6484f7771be2 [^]
2018-12-05 15:22hgbotCheckin
2018-12-05 15:22hgbotNote Added: 0108286
2018-12-05 17:23hgbotCheckin
2018-12-05 17:23hgbotNote Added: 0108299
2018-12-05 17:49SandrahuguetNote Added: 0108301
2018-12-05 17:49SandrahuguetNote Edited: 0108301bug_revision_view_page.php?bugnote_id=0108301#r18004
2018-12-05 17:49SandrahuguetNote Added: 0108302
2018-12-05 17:50SandrahuguetStatusresolved => new
2018-12-05 17:50SandrahuguetResolutionfixed => open
2018-12-11 08:12hgbotCheckin
2018-12-11 08:12hgbotNote Added: 0108380
2018-12-11 08:12hgbotStatusnew => resolved
2018-12-11 08:12hgbotResolutionopen => fixed
2018-12-11 08:12hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/pi/rev/708c5c4d51a03e583ff99b46dd4e6484f7771be2 [^] => http://code.openbravo.com/erp/devel/pi/rev/05948dd8851c32fb2292e70b7d13ac22e46408ed [^]
2018-12-11 15:38hgbotCheckin
2018-12-11 15:38hgbotNote Added: 0108396
2018-12-11 15:38hgbotCheckin
2018-12-11 15:38hgbotNote Added: 0108397
2018-12-11 20:22hudsonbotCheckin
2018-12-11 20:22hudsonbotNote Added: 0108512
2018-12-11 20:22hudsonbotCheckin
2018-12-11 20:22hudsonbotNote Added: 0108514
2018-12-11 20:22hudsonbotCheckin
2018-12-11 20:22hudsonbotNote Added: 0108516
2018-12-11 20:23hudsonbotCheckin
2018-12-11 20:23hudsonbotNote Added: 0108518
2018-12-11 20:23hudsonbotCheckin
2018-12-11 20:23hudsonbotNote Added: 0108519
2018-12-11 20:23hudsonbotCheckin
2018-12-11 20:23hudsonbotNote Added: 0108520
2018-12-12 16:33vmromanosNote Added: 0108556
2018-12-12 16:33vmromanosStatusresolved => closed
2018-12-12 16:33vmromanosFixed in Version => 3.0PR19Q1
2018-12-12 16:35hgbotCheckin
2018-12-12 16:35hgbotNote Added: 0108557
2018-12-13 00:22hudsonbotCheckin
2018-12-13 00:22hudsonbotNote Added: 0108560

Notes
(0108224)
alostale   
2018-12-03 13:04   
I opened a discussion thread in Hibernate forums about pessimistic write locks being too aggressive in PostgreSQL [1].

[1] https://discourse.hibernate.org/t/too-aggressive-pessimistic-write-lock-in-postgresql/1824 [^]
(0108284)
hgbot   
2018-12-05 15:21   
Repository: erp/devel/pi
Changeset: 708c5c4d51a03e583ff99b46dd4e6484f7771be2
Author: Sandra Huguet <sandra.huguet <at> openbravo.com>
Date: Tue Dec 04 15:36:12 2018 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/708c5c4d51a03e583ff99b46dd4e6484f7771be2 [^]

Fixed issue 39672 reduce lock and calculate the current balance at the end of the process

---
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
---
(0108286)
hgbot   
2018-12-05 15:22   
Repository: erp/devel/pi
Changeset: 26214ce6e789130bfd273174483df8a6ffd4a26d
Author: Sandra Huguet <sandra.huguet <at> openbravo.com>
Date: Tue Dec 04 15:47:59 2018 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/26214ce6e789130bfd273174483df8a6ffd4a26d [^]

related to issue 39672 use lockForNoKeyUpdate instead of lockFinAccount

Use lockForNoKeyUpdate instead of use lockFinAccount in which a
"FOR UPDATE" is done and is too agressive.

---
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
---
(0108299)
hgbot   
2018-12-05 17:23   
Repository: erp/devel/pi
Changeset: 58849d9510ba5629235d2f90d4076217cf3a52da
Author: Sandra Huguet <sandra.huguet <at> openbravo.com>
Date: Wed Dec 05 17:23:37 2018 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/58849d9510ba5629235d2f90d4076217cf3a52da [^]

related to issue 39672 lockForNoKeyUpdate not returns the id

---
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
---
(0108301)
Sandrahuguet   
2018-12-05 17:49   
author Sandra Huguet <sandra.huguet@openbravo.com>
Wed, 05 Dec 2018 17:46:39 +0100 (2 minutes ago)
changeset 35187 c40f567a73a9
parent 35186 58849d9510ba
child 35188 616f94939565
Backed out changeset 58849d9510ba

https://code.openbravo.com/erp/devel/pi/rev/c40f567a73a9 [^]

(0108302)
Sandrahuguet   
2018-12-05 17:49   
author Sandra Huguet <sandra.huguet@openbravo.com>
Wed, 05 Dec 2018 17:47:18 +0100 (2 minutes ago)
changeset 35188 616f94939565
parent 35187 c40f567a73a9
Backed out changeset 26214ce6e789

https://code.openbravo.com/erp/devel/pi/rev/616f94939565 [^]
(0108380)
hgbot   
2018-12-11 08:12   
Repository: erp/devel/pi
Changeset: 05948dd8851c32fb2292e70b7d13ac22e46408ed
Author: Sandra Huguet <sandra.huguet <at> openbravo.com>
Date: Mon Dec 10 16:29:15 2018 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/05948dd8851c32fb2292e70b7d13ac22e46408ed [^]

fixed issue 39672 use the new method getObjectLockForNoKeyUpdate

---
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
---
(0108396)
hgbot   
2018-12-11 15:38   
Repository: erp/devel/pi
Changeset: ebd6611474d375d2199f4f8d16c6571782b9c5dd
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Tue Dec 11 15:27:05 2018 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/ebd6611474d375d2199f4f8d16c6571782b9c5dd [^]

related to issue 39672: improved javadoc

---
M src/org/openbravo/dal/service/OBDal.java
---
(0108397)
hgbot   
2018-12-11 15:38   
Repository: erp/devel/pi
Changeset: 7e4c318ad6a32159a18d3de6a070cd12f6705217
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Tue Dec 11 15:37:30 2018 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/7e4c318ad6a32159a18d3de6a070cd12f6705217 [^]

related to issue 39672: added test cases

---
M src-test/src/org/openbravo/test/AllAntTaskTests.java
A src-test/src/org/openbravo/test/dal/DalLockingTest.java
---
(0108512)
hudsonbot   
2018-12-11 20:22   
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/470e3cd384c5 [^]
Maturity status: Test
(0108514)
hudsonbot   
2018-12-11 20:22   
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/470e3cd384c5 [^]
Maturity status: Test
(0108516)
hudsonbot   
2018-12-11 20:22   
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/470e3cd384c5 [^]
Maturity status: Test
(0108518)
hudsonbot   
2018-12-11 20:23   
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/470e3cd384c5 [^]
Maturity status: Test
(0108519)
hudsonbot   
2018-12-11 20:23   
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/470e3cd384c5 [^]
Maturity status: Test
(0108520)
hudsonbot   
2018-12-11 20:23   
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/470e3cd384c5 [^]
Maturity status: Test
(0108556)
vmromanos   
2018-12-12 16:33   
Code review OK
(0108557)
hgbot   
2018-12-12 16:35   
Repository: erp/devel/pi
Changeset: 2677dcb9a82a97709cb3f6882f536db85d92b552
Author: Víctor Martínez Romanos <victor.martinez <at> openbravo.com>
Date: Wed Dec 12 16:35:23 2018 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/2677dcb9a82a97709cb3f6882f536db85d92b552 [^]

Related to issue 39672: removed extra blank line

---
M modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java
---
(0108560)
hudsonbot   
2018-12-13 00:22   
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/a40cfd3585b5 [^]
Maturity status: Test