Openbravo Issue Tracking System - Retail Modules
View Issue Details
0037658Retail ModulesWeb POSpublic2018-01-17 11:572018-01-25 15:00
marvintm 
marvintm 
urgentmajoralways
closedfixed 
5
 
RR17Q3.3RR18Q1 
migueldejuana
No
0037658: Logclient information can accumulate in the terminal, and be continously sent to the backend server
The logclient information is saved temporarily in a local database table, and is sent to the server every 30 seconds. If the server correctly receives it, then the terminal removes it, and otherwise tries to send it again the next time.

However, in some very specific cases, the server may erroneously conclude that the messages were not correctly saved, and then the terminal will send the messages again, and therefore the log messages will never be deleted from the terminal, and new messages will continuously accumulate until the terminal crashes.
- Log in the WebPOS with terminal VBS-1 with Openbravo user
- Open the backoffice in another tab in the same browser.
- Change the organization in backoffice to "Central Mountain")
- Put a breakpoint in LogclientLoader class.
- Wait until the log is sent from the WebPOS and the breakpoint stops.
- Logout in the backoffice, and refresh the WebPOS.
- Remove the breakpoint.

With these steps, you ensure that you saved logclient messages in a wrong organization, and that the messages were not deleted from the WebPOS.

- Now, log in with vallblanca user in the WebPOS.
- The pending messages will be resent. However, this request will fail, and the messages will be kept in the terminal forever. There is no way to escape from this situation, other than deleting the cache.
The LogClientLoader must be changed so that it is able to find records which were created even in unaccessible organizations.
No tags attached.
blocks defect 0037655 closed marvintm Logclient information can accumulate in the terminal, and be continously sent to the backend server 
Issue History
2018-01-17 11:57marvintmTypedefect => backport
2018-01-17 11:57marvintmTarget Version => RR17Q3.3
2018-01-22 15:25hgbotCheckin
2018-01-22 15:25hgbotNote Added: 0101851
2018-01-22 15:25hgbotStatusscheduled => resolved
2018-01-22 15:25hgbotResolutionopen => fixed
2018-01-22 15:25hgbotFixed in SCM revision => http://code.openbravo.com/retail/backports/3.0RR17Q3.3/org.openbravo.mobile.core/rev/633f76f97baf112faa91938b3a4462f3f4753ce3 [^]
2018-01-25 15:00migueldejuanaReview Assigned To => migueldejuana
2018-01-25 15:00migueldejuanaNote Added: 0101942
2018-01-25 15:00migueldejuanaStatusresolved => closed
2018-01-25 15:00migueldejuanaFixed in Version => RR18Q1

Notes
(0101851)
hgbot   
2018-01-22 15:25   
Repository: retail/backports/3.0RR17Q3.3/org.openbravo.mobile.core
Changeset: 633f76f97baf112faa91938b3a4462f3f4753ce3
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Mon Jan 22 15:25:36 2018 +0100
URL: http://code.openbravo.com/retail/backports/3.0RR17Q3.3/org.openbravo.mobile.core/rev/633f76f97baf112faa91938b3a4462f3f4753ce3 [^]

Fixed issue 37658. Existing logclient records will now always be found
Now the query that checks if the logclient record exists will no longer filter by client/organization, and therefore will be able to find records which were mistakenly created in a non-accessible organization. This will prevent some records from becoming stuck in the terminal.

---
M src/org/openbravo/mobile/core/utils/LogClientLoader.java
---
(0101942)
migueldejuana   
2018-01-25 15:00   
Tested and reviewed