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

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0034254
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Retail Modules] Web POSmajoralways2016-10-20 17:542017-01-12 16:44
ReportermigueldejuanaView Statuspublic 
Assigned Tomigueldejuana 
PrioritynormalResolutionfixedFixed in VersionRR17Q1
StatusclosedFix in branchFixed in SCM revisioncb594adedf34
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned Tomtaal
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0034254: Import entries need to be executed in time order (by terminal)

DescriptionThere are some ImportEntryProccesors to manage the order of models (Order, Cashup...) to be processed in the backend. The first idea was to process in parallel all models to have good performance processing big amount of imports. But there are some restrictions between models to be processed (i.e.: Orders have to be processed before Cashup) and we introduced those restrictions in ImportEntryProccesors classes to manage correctly the execution order.
We continue discovering restrictions.
Steps To ReproduceThere are examples than can happen randomly. Having bad connection and being offline very frequently will help to suffer this.
The next example happens always but it only happens till 16Q4 because in this release has been included a development which always updates cashup info before any order cash mgmt request.

1- Login
2- Create an order
3- Go to Cash up
4- Go offline
5- Finish the cashup process
6- Do a cash management
7- Go online and messages will be synchronized
8- Consequence:
8.1- In 16Q4: Everything fine as explained above
8.2- In 16Q3.2 and 16Q2.3: ERROR--> We will see and error in Errors while importing... window
8.3- Previous releases: ERROR--> We will not see any error but created cash mgmt will not be related with the cashup and in consequence will not be reconciliated.
Proposed SolutionWe have decided to process imports filtering by terminal in sent order, without restrictions between models. We will process imports in the same order that actions were done in Web POS.
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
depends on backport 0034255RR16Q4 closedmigueldejuana Import entries need to be executed in time order (by terminal) 
depends on backport 0034256RR16Q3.3 closedmigueldejuana Import entries need to be executed in time order (by terminal) 
depends on backport 0034257RR16Q2.4 closedmigueldejuana Import entries need to be executed in time order (by terminal) 
causes defect 0034740 closedchristiangoni Error after creating a new Business Partner, new BPLocation and complete a ticket while being offline 

-  Notes
(0090744)
hgbot (developer)
2016-10-21 09:22

Repository: erp/pmods/org.openbravo.retail.posterminal
Changeset: f522a2e3701df612afd1d1a4f15c6c841060be1c
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Thu Oct 20 17:56:02 2016 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/f522a2e3701df612afd1d1a4f15c6c841060be1c [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- We have decided to process imports filtering by terminal in sent order, without restrictions between models. We will process imports in the same order that actions were done in Web POS.

---
M src/org/openbravo/retail/posterminal/importprocess/CashManagementImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CashUpImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/OrderImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/POSImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/QuotationsRejectEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/VoidLayawayEntryProcessor.java
---
(0090835)
hgbot (developer)
2016-10-25 07:35

Repository: erp/pmods/org.openbravo.mobile.core
Changeset: 7d2f680656bc311ce34383bc7be1d62685b8bfb0
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Fri Oct 21 10:52:18 2016 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/7d2f680656bc311ce34383bc7be1d62685b8bfb0 [^]

Related to issue 0034254: Import entries need to be executed in time order (by terminal)

- Move countEntries method to a correct class

---
A src/org/openbravo/mobile/core/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0090836)
hgbot (developer)
2016-10-25 07:36

Repository: erp/pmods/org.openbravo.retail.posterminal
Changeset: 200143bab315e7aaebaa74233d6ab6bfb4959789
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Fri Oct 21 10:52:43 2016 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/200143bab315e7aaebaa74233d6ab6bfb4959789 [^]

Related to issue 0034254: Import entries need to be executed in time order (by terminal)

- Move countEntries method to a correct class

---
M src/org/openbravo/retail/posterminal/importprocess/CashManagementImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CashUpImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/OrderImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/POSImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/QuotationsRejectEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/VoidLayawayEntryProcessor.java
---
(0090842)
hgbot (developer)
2016-10-25 09:08

Repository: erp/pmods/org.openbravo.retail.posterminal
Changeset: eba19691ad62868fec4e6e71ae491b4128dde0b9
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Tue Oct 25 09:07:38 2016 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/eba19691ad62868fec4e6e71ae491b4128dde0b9 [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- Remove unneeded super statement

---
M src/org/openbravo/retail/posterminal/importprocess/CashManagementImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CashUpImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/OrderImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/QuotationsRejectEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/VoidLayawayEntryProcessor.java
---
(0090859)
mtaal (manager)
2016-10-25 12:03

The new countentries [1] uses count(*). In another improvement done earlier count was not used anymore, but "select 1" was used, that gave much better results. So propose to use limit as shown in [2].

Other topic:
- did you check if the indexes of the importentry table are still valid and support the new query?
- does it make sense to add an index on createdtimestamp?
- why check both created and createdtimestamp in the query?

[1]
https://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/file/tip/src/org/openbravo/mobile/core/process/SerializedByTermImportEntryProcessorRunnable.java#l29 [^]

[2]
https://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/diff/f522a2e3701d/src/org/openbravo/retail/posterminal/importprocess/OrderImportEntryProcessor.java#l1.45 [^]
(0090937)
hgbot (developer)
2016-10-27 08:46

Repository: erp/pmods/org.openbravo.mobile.core
Changeset: 5e22b9aa2701d758886425075aaaa615f41a1b16
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Thu Oct 27 08:46:05 2016 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/5e22b9aa2701d758886425075aaaa615f41a1b16 [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- Change count query by select 1

---
M src/org/openbravo/mobile/core/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0090938)
hgbot (developer)
2016-10-27 09:16

Repository: erp/pmods/org.openbravo.mobile.core
Changeset: 8f6e0f990719d3d11a7038197d09cbff06a3a91f
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Thu Oct 27 09:12:45 2016 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/8f6e0f990719d3d11a7038197d09cbff06a3a91f [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- Change count query by select 1 and proper return

---
M src/org/openbravo/mobile/core/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0090939)
hgbot (developer)
2016-10-27 09:20

Repository: erp/pmods/org.openbravo.mobile.core
Changeset: 62c8831ded55126eeabc5e8d3823feca0b67bee6
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Thu Oct 27 09:20:15 2016 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/62c8831ded55126eeabc5e8d3823feca0b67bee6 [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- Set the maxresult = 1

---
M src/org/openbravo/mobile/core/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0090946)
migueldejuana (developer)
2016-10-27 11:23

- did you check if the indexes of the importentry table are still valid and support the new query?
* Nothing changed in the query which could affect to indexes.

- does it make sense to add an index on createdtimestamp?
* It doesn't make sense because the important index is importstatus index, after filtering by this column we will find very few import entries. In addition, this table must has fast insertions, so we shouldn't have many indexes.

- why check both created and createdtimestamp in the query?
* Some models doesn't have createdtimestamp so in that case wi need to check creationDate.
(0091028)
mtaal (manager)
2016-10-31 20:19

Reviewed
(0091350)
hgbot (developer)
2016-11-11 08:48

Repository: retail/backports/3.0RR16Q2.4/org.openbravo.mobile.core
Changeset: e7f1fee64b6f64609dd620ae4b3fdeffcae29b15
Author: Rafa Alonso <ral <at> openbravo.com>
Date: Fri Nov 11 08:32:12 2016 +0100
URL: http://code.openbravo.com/retail/backports/3.0RR16Q2.4/org.openbravo.mobile.core/rev/e7f1fee64b6f64609dd620ae4b3fdeffcae29b15 [^]

Fixed issue 34257, backport of issue 34254: Import entries need to be executed in time order (by terminal)

---
A src/org/openbravo/mobile/core/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0091356)
hgbot (developer)
2016-11-11 08:49

Repository: retail/backports/3.0RR16Q2.4/org.openbravo.retail.posterminal
Changeset: 47d9c95b179a49f69ee5b7c27ded02f0ab53bd5a
Author: Rafa Alonso <ral <at> openbravo.com>
Date: Fri Nov 11 08:37:17 2016 +0100
URL: http://code.openbravo.com/retail/backports/3.0RR16Q2.4/org.openbravo.retail.posterminal/rev/47d9c95b179a49f69ee5b7c27ded02f0ab53bd5a [^]

Fixed issue 34257, backport of issue 34254: Import entries need to be executed in time order (by terminal)

---
M src/org/openbravo/retail/posterminal/importprocess/CashManagementImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CashUpImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/OrderImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/QuotationsRejectEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/VoidLayawayEntryProcessor.java
---
(0091560)
hgbot (developer)
2016-11-15 14:01

Repository: erp/pmods/org.openbravo.mobile.core
Changeset: c6020e6fe18613a816b243ac5cd2b33069d59445
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Tue Nov 15 13:42:46 2016 +0100
URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/c6020e6fe18613a816b243ac5cd2b33069d59445 [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- Move from mobile.core to posterminal because obposPosterminal column is in posterminal

---
R src/org/openbravo/mobile/core/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0091561)
hgbot (developer)
2016-11-15 14:06

Repository: erp/pmods/org.openbravo.retail.posterminal
Changeset: fc10e2c71cb03658154ae912df29dd483c1c91c3
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Tue Nov 15 13:43:51 2016 +0100
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/fc10e2c71cb03658154ae912df29dd483c1c91c3 [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- Move from mobile.core to posterminal because obposPosterminal column is in posterminal

---
M src/org/openbravo/retail/posterminal/importprocess/CashManagementImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CashUpImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/OrderImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/QuotationsRejectEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/VoidLayawayEntryProcessor.java
A src/org/openbravo/retail/posterminal/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0091568)
hgbot (developer)
2016-11-15 15:25

Repository: retail/backports/3.0RR16Q4/org.openbravo.retail.posterminal
Changeset: cb594adedf3479cd4fec0802b940a616c1245aee
Author: Miguel de Juana <miguel.dejuana <at> openbravo.com>
Date: Tue Nov 15 15:25:13 2016 +0100
URL: http://code.openbravo.com/retail/backports/3.0RR16Q4/org.openbravo.retail.posterminal/rev/cb594adedf3479cd4fec0802b940a616c1245aee [^]

Fixed issue 0034254: Import entries need to be executed in time order (by terminal)

- Move from mobile.core to posterminal because obposPosterminal column is in posterminal

---
M src/org/openbravo/retail/posterminal/importprocess/CashManagementImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CashUpImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/OrderImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/QuotationsRejectEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/VoidLayawayEntryProcessor.java
A src/org/openbravo/retail/posterminal/process/SerializedByTermImportEntryProcessorRunnable.java
---
(0091585)
mtaal (manager)
2016-11-15 20:47

Reviewed
(0093429)
hgbot (developer)
2017-01-12 16:43

Repository: retail/backports/3.0RR16Q3.5/org.openbravo.retail.posterminal
Changeset: 8670a6045e508de52a0155cdc8e92484b558aa9a
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Jan 12 16:42:52 2017 +0100
URL: http://code.openbravo.com/retail/backports/3.0RR16Q3.5/org.openbravo.retail.posterminal/rev/8670a6045e508de52a0155cdc8e92484b558aa9a [^]

Fixed issue 34742. Error after creating a new Business Partner, new BPLocation and complete a ticket while being offline


Due to issue 34254, countEntries was moved to the correct class to allow the terminal execute the import entries in time order and so, CustomerAddrImportEntryProcessor should not implement it.

---
M src/org/openbravo/retail/posterminal/importprocess/CustomerAddrImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CustomerImportEntryProcessor.java
---
(0093431)
hgbot (developer)
2017-01-12 16:44

Repository: retail/backports/3.0RR16Q4.1/org.openbravo.retail.posterminal
Changeset: 17f5db13ca6ce6b4c7878ff01bd082738ac479ac
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Jan 12 16:43:50 2017 +0100
URL: http://code.openbravo.com/retail/backports/3.0RR16Q4.1/org.openbravo.retail.posterminal/rev/17f5db13ca6ce6b4c7878ff01bd082738ac479ac [^]

Fixed issue 34741. Error after creating a new Business Partner, new BPLocation and complete a ticket while being offline


Due to issue 34254, countEntries was moved to the correct class to allow the terminal execute the import entries in time order and so, CustomerAddrImportEntryProcessor should not implement it.

---
M src/org/openbravo/retail/posterminal/importprocess/CustomerAddrImportEntryProcessor.java
M src/org/openbravo/retail/posterminal/importprocess/CustomerImportEntryProcessor.java
---

- Issue History
Date Modified Username Field Change
2016-10-20 17:54 migueldejuana New Issue
2016-10-20 17:54 migueldejuana Assigned To => migueldejuana
2016-10-20 17:54 migueldejuana Triggers an Emergency Pack => No
2016-10-20 17:54 migueldejuana Status new => scheduled
2016-10-21 09:22 hgbot Checkin
2016-10-21 09:22 hgbot Note Added: 0090744
2016-10-21 09:22 hgbot Status scheduled => resolved
2016-10-21 09:22 hgbot Resolution open => fixed
2016-10-21 09:22 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/f522a2e3701df612afd1d1a4f15c6c841060be1c [^]
2016-10-21 14:05 migueldejuana Review Assigned To => mtaal
2016-10-25 07:35 hgbot Checkin
2016-10-25 07:35 hgbot Note Added: 0090835
2016-10-25 07:36 hgbot Checkin
2016-10-25 07:36 hgbot Note Added: 0090836
2016-10-25 09:08 hgbot Checkin
2016-10-25 09:08 hgbot Note Added: 0090842
2016-10-25 09:08 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/f522a2e3701df612afd1d1a4f15c6c841060be1c [^] => http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/eba19691ad62868fec4e6e71ae491b4128dde0b9 [^]
2016-10-25 12:03 mtaal Note Added: 0090859
2016-10-25 12:03 mtaal Status resolved => new
2016-10-25 12:03 mtaal Resolution fixed => open
2016-10-27 08:46 hgbot Checkin
2016-10-27 08:46 hgbot Note Added: 0090937
2016-10-27 08:46 hgbot Status new => resolved
2016-10-27 08:46 hgbot Resolution open => fixed
2016-10-27 08:46 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/eba19691ad62868fec4e6e71ae491b4128dde0b9 [^] => http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/5e22b9aa2701d758886425075aaaa615f41a1b16 [^]
2016-10-27 09:16 hgbot Checkin
2016-10-27 09:16 hgbot Note Added: 0090938
2016-10-27 09:16 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/5e22b9aa2701d758886425075aaaa615f41a1b16 [^] => http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/8f6e0f990719d3d11a7038197d09cbff06a3a91f [^]
2016-10-27 09:20 hgbot Checkin
2016-10-27 09:20 hgbot Note Added: 0090939
2016-10-27 09:20 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/8f6e0f990719d3d11a7038197d09cbff06a3a91f [^] => http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/62c8831ded55126eeabc5e8d3823feca0b67bee6 [^]
2016-10-27 11:23 migueldejuana Note Added: 0090946
2016-10-31 20:19 mtaal Note Added: 0091028
2016-10-31 20:19 mtaal Status resolved => closed
2016-10-31 20:19 mtaal Fixed in Version => RR17Q1
2016-11-11 08:48 hgbot Checkin
2016-11-11 08:48 hgbot Note Added: 0091350
2016-11-11 08:49 hgbot Checkin
2016-11-11 08:49 hgbot Note Added: 0091356
2016-11-15 14:01 hgbot Checkin
2016-11-15 14:01 hgbot Note Added: 0091560
2016-11-15 14:01 hgbot Status closed => resolved
2016-11-15 14:01 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/62c8831ded55126eeabc5e8d3823feca0b67bee6 [^] => http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/c6020e6fe18613a816b243ac5cd2b33069d59445 [^]
2016-11-15 14:06 hgbot Checkin
2016-11-15 14:06 hgbot Note Added: 0091561
2016-11-15 14:06 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/c6020e6fe18613a816b243ac5cd2b33069d59445 [^] => http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/fc10e2c71cb03658154ae912df29dd483c1c91c3 [^]
2016-11-15 15:25 hgbot Checkin
2016-11-15 15:25 hgbot Note Added: 0091568
2016-11-15 15:25 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.retail.posterminal/rev/fc10e2c71cb03658154ae912df29dd483c1c91c3 [^] => http://code.openbravo.com/retail/backports/3.0RR16Q4/org.openbravo.retail.posterminal/rev/cb594adedf3479cd4fec0802b940a616c1245aee [^]
2016-11-15 20:47 mtaal Note Added: 0091585
2016-11-15 20:47 mtaal Status resolved => closed
2016-12-15 13:18 christiangoni Relationship added causes 0034740
2017-01-12 16:43 hgbot Checkin
2017-01-12 16:43 hgbot Note Added: 0093429
2017-01-12 16:44 hgbot Checkin
2017-01-12 16:44 hgbot Note Added: 0093431


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker