Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0035521
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Retail Modules] Sessionsmajorsometimes2017-03-15 10:282017-05-09 10:56
Reporterjorge-garciaView Statuspublic 
Assigned Tojorge-garcia 
PriorityhighResolutionfixedFixed in VersionRR17Q3
StatusclosedFix in branchFixed in SCM revision163813a4c948
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned Tomarvintm
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0035521: It's possible to execute in parallel the creation of two cashup objects in database

DescriptionIn sessions module, it's possible to execute in parallel the creation of two cashups with the same id in database.

This two cashups are created one from the openTill object (not a synchronization model) and other from the difference transaction when the store is open (cashmgmt is a synchronization model).
Steps To ReproduceThe issue is reproducible in the integration:

Errors in the OBPOS_Errors table while importing POS data: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
TYPE --> FIN_Finacc_Transaction
ERROR -->
java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (TRY_RET_MODULES_ORACLE_SUITE2.OBPOS_APPCASH_PK) violated
Proposed SolutionPatch attached
TagsNo tags attached.
Attached Filesdiff file icon avoidErrorInCaseOfParallelCashupUpdates.diff [^] (1,309 bytes) 2017-03-15 10:29 [Show Content]

- Relationships Relation Graph ] Dependency Graph ]
depends on backport 0035889RR17Q2.1 closedjorge-garcia It's possible to execute in parallel the creation of two cashup objects in database 
depends on backport 0035890RR17Q1.2 closedjorge-garcia It's possible to execute in parallel the creation of two cashup objects in database 

-  Notes
(0096300)
hgbot (developer)
2017-05-02 11:22

Repository: erp/pmods/org.openbravo.retail.posterminal
Changeset: 163813a4c948a28853553968f005e087bc37afb8
Author: Jorge Garcia <jorge.garcia <at> openbravo.com>
Date: Tue May 02 08:58:57 2017 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/163813a4c948a28853553968f005e087bc37afb8 [^]

Fixed issue 35521: It's possible to execute in parallel the creation of two
cashup objects in database

The user case here is to do an open till and create a transaction with
differences in the count cash tab.

Both messages send information regarding the status of the cashup, the
cashup report.

If the cashup sent doesn’t exists in the database, the cashup is
created in order to save it.

At this point, we have implement a solution for two cases:

If synchronize mode is NOT active:

* Those two messages could be executed in parallel because open till message
is not a synchronize model and it’s executed immediately the server gets the
message. In this case, to avoid error in the cashup primary key trying to create
two cashups with the same id, we persist in database the header of the cashup,
and, in case there is a second message with the same cashup id, it will detect
the cashup and won’t try to create it again.

If synchronize mode is active:

* Those messages will not be executed at the same time. Until the open till
response is coming back from the server, the execution in WebPOS is stopped.
Then the transaction of differences in the count cash will be sent to the server,
and the cashup will exists.

---
M src/org/openbravo/retail/posterminal/UpdateCashup.java
---
(0096302)
jorge-garcia (developer)
2017-05-02 11:45

Reopened to create backports

- Issue History
Date Modified Username Field Change
2017-03-15 10:28 jorge-garcia New Issue
2017-03-15 10:28 jorge-garcia Assigned To => jorge-garcia
2017-03-15 10:28 jorge-garcia Triggers an Emergency Pack => No
2017-03-15 10:29 jorge-garcia File Added: avoidErrorInCaseOfParallelCashupUpdates.diff
2017-03-15 10:41 jorge-garcia Status new => scheduled
2017-04-20 11:48 jorge-garcia Assigned To jorge-garcia => marvintm
2017-04-26 10:37 jorge-garcia Assigned To marvintm => jorge-garcia
2017-05-02 11:22 hgbot Checkin
2017-05-02 11:22 hgbot Note Added: 0096300
2017-05-02 11:22 hgbot Status scheduled => resolved
2017-05-02 11:22 hgbot Resolution open => fixed
2017-05-02 11:22 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/163813a4c948a28853553968f005e087bc37afb8 [^]
2017-05-02 11:45 jorge-garcia Note Added: 0096302
2017-05-02 11:45 jorge-garcia Status resolved => new
2017-05-02 11:45 jorge-garcia Resolution fixed => open
2017-05-02 11:45 jorge-garcia Status new => scheduled
2017-05-02 11:45 jorge-garcia Status scheduled => resolved
2017-05-02 11:45 jorge-garcia Fixed in Version => RR17Q3
2017-05-02 11:45 jorge-garcia Resolution open => fixed
2017-05-09 10:56 marvintm Review Assigned To => marvintm
2017-05-09 10:56 marvintm Status resolved => closed


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker