Openbravo Issue Tracking System - Retail Modules
View Issue Details
0037657Retail ModulesWeb POSpublic2018-01-17 11:572018-01-24 14:31
marvintm 
marvintm 
urgentmajoralways
closedfixed 
5
 
RR17Q4.1RR17Q4.1 
migueldejuana
No
0037657: 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 => RR17Q4.1
2018-01-22 14:01hgbotCheckin
2018-01-22 14:01hgbotNote Added: 0101845
2018-01-22 14:01hgbotStatusscheduled => resolved
2018-01-22 14:01hgbotResolutionopen => fixed
2018-01-22 14:01hgbotFixed in SCM revision => http://code.openbravo.com/retail/backports/3.0RR17Q4.1/org.openbravo.mobile.core/rev/60f7bbfe4c3591fc86dd6083a2d59c5a7206bd27 [^]
2018-01-24 14:30migueldejuanaReview Assigned To => migueldejuana
2018-01-24 14:30migueldejuanaStatusresolved => closed
2018-01-24 14:30migueldejuanaFixed in Version => RR17Q4.1
2018-01-24 14:31migueldejuanaNote Added: 0101924

Notes
(0101845)
hgbot   
2018-01-22 14:01   
Repository: retail/backports/3.0RR17Q4.1/org.openbravo.mobile.core
Changeset: 60f7bbfe4c3591fc86dd6083a2d59c5a7206bd27
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Mon Jan 22 14:00:44 2018 +0100
URL: http://code.openbravo.com/retail/backports/3.0RR17Q4.1/org.openbravo.mobile.core/rev/60f7bbfe4c3591fc86dd6083a2d59c5a7206bd27 [^]

Fixed issue 37657. 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
---
(0101924)
migueldejuana   
2018-01-24 14:31   
Tested and reviewed