Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0039756Openbravo ERPI. Performancepublic2018-12-04 15:262018-12-12 10:52
Sandrahuguet 
Sandrahuguet 
normalmajorhave not tried
closedfixed 
30Openbravo Appliance 14.04
 
3.0PR18Q4.13.0PR18Q4.1 
alostale
Core
No
0039756: It would be nice to have a method to use lock "FOR NO KEY UPDATE"
It would be nice to have a method to use lock "FOR NO KEY UPDATE", because "FOR UPDATE" in PostgreSQL is too aggressive.
- 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
No tags attached.
blocks defect 0039755 closed Sandrahuguet It would be nice to have a method to use lock "FOR NO KEY UPDATE" 
Issue History
2018-12-04 15:29SandrahuguetTypedefect => backport
2018-12-04 15:29SandrahuguetTarget Version => 3.0PR18Q4
2018-12-05 13:20SandrahuguetReview Assigned To => alostale
2018-12-05 15:23hgbotCheckin
2018-12-05 15:23hgbotNote Added: 0108291
2018-12-05 15:23hgbotStatusscheduled => resolved
2018-12-05 15:23hgbotResolutionopen => fixed
2018-12-05 15:23hgbotFixed in SCM revision => http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/0e09c8a5cee903551e3baf65527488f99735fc87 [^]
2018-12-05 17:51hgbotCheckin
2018-12-05 17:51hgbotNote Added: 0108304
2018-12-07 11:29shuehnerTarget Version3.0PR18Q4 => 3.0PR18Q4.1
2018-12-07 13:27hgbotCheckin
2018-12-07 13:27hgbotNote Added: 0108330
2018-12-07 13:27hgbotCheckin
2018-12-07 13:27hgbotNote Added: 0108331
2018-12-07 13:28AtulOpenbravoStatusresolved => new
2018-12-07 13:28AtulOpenbravoResolutionfixed => open
2018-12-07 13:29AtulOpenbravoNote Added: 0108332
2018-12-11 17:24hgbotCheckin
2018-12-11 17:24hgbotNote Added: 0108407
2018-12-11 17:24hgbotStatusnew => resolved
2018-12-11 17:24hgbotResolutionopen => fixed
2018-12-11 17:24hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/backports/3.0PR18Q4/rev/0e09c8a5cee903551e3baf65527488f99735fc87 [^] => http://code.openbravo.com/erp/backports/3.0PR18Q4.1/rev/440fd243a83c7aa04d3f2666cd5ea79376869147 [^]
2018-12-12 10:52alostaleNote Added: 0108543
2018-12-12 10:52alostaleStatusresolved => closed
2018-12-12 10:52alostaleFixed in Version => 3.0PR18Q4.1

Notes
(0108291)
hgbot   
2018-12-05 15:23   
Repository: erp/backports/3.0PR18Q4
Changeset: 0e09c8a5cee903551e3baf65527488f99735fc87
Author: Sandra Huguet <sandra.huguet <at> openbravo.com>
Date: Wed Dec 05 13:05:11 2018 +0100
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/0e09c8a5cee903551e3baf65527488f99735fc87 [^]

Fixed issue 39756 added in OBDAL lockForNoKeyUpdate

new lockForNoKeyUpdate method to allow the use "FOR NO KEY UPDATE",
because "FOR UPDATE" in PostgreSQL is too aggressive.

---
M src/org/openbravo/dal/service/OBDal.java
---
(0108304)
hgbot   
2018-12-05 17:51   
Repository: erp/backports/3.0PR18Q4
Changeset: f1af76aa3011f405abb27c4369e08be7358d761d
Author: Sandra Huguet <sandra.huguet <at> openbravo.com>
Date: Wed Dec 05 17:17:46 2018 +0100
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/f1af76aa3011f405abb27c4369e08be7358d761d [^]

related to issue 39756 code review changes

Not necessary to return the id. Only creates the lock.
Use createNativeQuery and improve code.

---
M src/org/openbravo/dal/service/OBDal.java
---
(0108330)
hgbot   
2018-12-07 13:27   
Repository: erp/backports/3.0PR18Q4
Changeset: 3d8b55861a9d3dd8be4ade1e832af837b89d015b
Author: Atul Gaware <atul.gaware <at> openbravo.com>
Date: Fri Dec 07 17:26:33 2018 +0530
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/3d8b55861a9d3dd8be4ade1e832af837b89d015b [^]

Related to Issue 39756:Backout Changeset f1af76aa3011

---
M src/org/openbravo/dal/service/OBDal.java
---
(0108331)
hgbot   
2018-12-07 13:27   
Repository: erp/backports/3.0PR18Q4
Changeset: 054cdd2866d0cb1a8f7fb9292c43c816d5d5689e
Author: Atul Gaware <atul.gaware <at> openbravo.com>
Date: Fri Dec 07 17:28:01 2018 +0530
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/054cdd2866d0cb1a8f7fb9292c43c816d5d5689e [^]

Related TO Issue 39756: Backout changeset 0e09c8a5cee9

---
M src/org/openbravo/dal/service/OBDal.java
---
(0108332)
AtulOpenbravo   
2018-12-07 13:29   
Re-opened as fixes were backout. It will be pushed in Q4.1
(0108407)
hgbot   
2018-12-11 17:24   
Repository: erp/backports/3.0PR18Q4.1
Changeset: 440fd243a83c7aa04d3f2666cd5ea79376869147
Author: Sandra Huguet <sandra.huguet <at> openbravo.com>
Date: Tue Dec 11 17:15:41 2018 +0100
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4.1/rev/440fd243a83c7aa04d3f2666cd5ea79376869147 [^]

fixed issue 39756 change lockForNoKeyUpdate to return the instance with the lock

*Retrieves an object from the database getting a lock "for no key update" for the indicated
object. Change method name, parameters and return.
*Improve and modify the javadoc with the required changes.

---
M src/org/openbravo/dal/service/OBDal.java
---
(0108543)
alostale   
2018-12-12 10:52   
reviewed + tested