Openbravo Issue Tracking System - Retail Modules
View Issue Details
0039445Retail ModulesWeb POSpublic2018-04-13 10:152018-10-31 07:26
egoitz 
marvintm 
normalmajoralways
closedfixed 
5
 
RR18Q4 
migueldejuana
No
0039445: The terminal does not go to offline mode if the database is colapsed but the tomcat works
If for example, the database get out of connections, the webpos does not go offline.
-Access to a terminal
-Stop postgresql.
-Refresh the application.
*It tryies to login but then you are continuosly requested to login again.
OFFLINE does not work
No tags attached.
blocks design defect 0038361 closed marvintm The terminal does not go to offline mode if the database is colapsed but the tomcat works 
Issue History
2018-10-15 10:36marvintmTypedesign defect => backport
2018-10-15 10:36marvintmTarget Version => RR18Q4
2018-10-18 10:34hgbotCheckin
2018-10-18 10:34hgbotNote Added: 0107412
2018-10-18 10:34hgbotCheckin
2018-10-18 10:34hgbotNote Added: 0107413
2018-10-18 10:34hgbotStatusscheduled => resolved
2018-10-18 10:34hgbotResolutionopen => fixed
2018-10-18 10:34hgbotFixed in SCM revision => http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/54c4de8f60778ae0a4f404eef265c9aa66f1c5f6 [^]
2018-10-18 10:34hgbotCheckin
2018-10-18 10:34hgbotNote Added: 0107414
2018-10-18 10:34hgbotCheckin
2018-10-18 10:34hgbotNote Added: 0107415
2018-10-18 10:34hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/backports/3.0PR18Q4/rev/54c4de8f60778ae0a4f404eef265c9aa66f1c5f6 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.retail.posterminal/rev/34246f645df1217d0c680847b8d3386f00564352 [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107416
2018-10-18 10:35hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.retail.posterminal/rev/34246f645df1217d0c680847b8d3386f00564352 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/eb0b15377edd69354f6d601dea5166d9c0265ce2 [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107417
2018-10-18 10:35hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/eb0b15377edd69354f6d601dea5166d9c0265ce2 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/c98caa4d62bd96316a12ba71a9584dd714e3e311 [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107418
2018-10-18 10:35hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/c98caa4d62bd96316a12ba71a9584dd714e3e311 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/6d80a3b12128795c3ce34132cb3d70b0c6c11924 [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107419
2018-10-18 10:35hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/6d80a3b12128795c3ce34132cb3d70b0c6c11924 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/3f68c37aa924b5289e8b416241ceac4a88f83a3a [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107420
2018-10-18 10:35hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/3f68c37aa924b5289e8b416241ceac4a88f83a3a [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/a328c61c3a84418412c64c1152eb0fcd8d6e604e [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107421
2018-10-18 10:35hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/a328c61c3a84418412c64c1152eb0fcd8d6e604e [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/a26adea2f5e89ffbae421194e66daa7340343598 [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107422
2018-10-18 10:35hgbotFixed in SCM revisionhttp://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/a26adea2f5e89ffbae421194e66daa7340343598 [^] => http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/68275e17a6b512cc39719cce0084eed94629fc7d [^]
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107423
2018-10-18 10:35hgbotCheckin
2018-10-18 10:35hgbotNote Added: 0107424
2018-10-31 07:26migueldejuanaReview Assigned To => migueldejuana
2018-10-31 07:26migueldejuanaNote Added: 0107681
2018-10-31 07:26migueldejuanaStatusresolved => closed

Notes
(0107412)
hgbot   
2018-10-18 10:34   
Repository: erp/backports/3.0PR18Q4
Changeset: 9b8927d1a48dd6f65e9f2faa560b0738cbcf2209
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 18 10:32:46 2018 +0200
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/9b8927d1a48dd6f65e9f2faa560b0738cbcf2209 [^]

Related to issue 39445. Backport hasNoConnections method.

---
M modules/org.openbravo.apachejdbcconnectionpool/src/org/openbravo/apachejdbcconnectionpool/JdbcExternalConnectionPool.java
M src-core/src/org/openbravo/database/ExternalConnectionPool.java
---
(0107413)
hgbot   
2018-10-18 10:34   
Repository: erp/backports/3.0PR18Q4
Changeset: 54c4de8f60778ae0a4f404eef265c9aa66f1c5f6
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:18:19 2018 +0200
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/54c4de8f60778ae0a4f404eef265c9aa66f1c5f6 [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
When there is an exception in the critical part of the HttpSecureAppServlet which tries to detect if the client is authenticated, we should not necessarily force a logout and reply with '401- Not authenticated' response. Instead, the appropriate action is to just return a '500-Internal Server Error' response. Logging out in this case may kill a valid request when the server is temporarily overloaded, and makes no sense, and the 401 response may confuse the client, thinking that it needs to do login again when in reality, the problem is just that the server is either overloaded, or affected by some serious problem which prevents even basic authentication checking to work.

---
M src/org/openbravo/base/secureApp/HttpSecureAppServlet.java
---
(0107414)
hgbot   
2018-10-18 10:34   
Repository: erp/backports/3.0PR18Q4
Changeset: 0ceec727c8dad27168c6c629537350b993260da7
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Mon Oct 15 10:41:39 2018 +0200
URL: http://code.openbravo.com/erp/backports/3.0PR18Q4/rev/0ceec727c8dad27168c6c629537350b993260da7 [^]

Related to issue 39445. Improved comment and log.

---
M src/org/openbravo/base/secureApp/HttpSecureAppServlet.java
---
(0107415)
hgbot   
2018-10-18 10:34   
Repository: retail/backports/3.0RR18Q4/org.openbravo.retail.posterminal
Changeset: 34246f645df1217d0c680847b8d3386f00564352
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Sun Oct 14 10:58:08 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.retail.posterminal/rev/34246f645df1217d0c680847b8d3386f00564352 [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
Two changes have been made:
- In the main Terminal request, if the response is not a known message, then most probably it is a critical error which happened in the server when trying to compute the terminal. In this case, it is better to try to force an offline login than block the process, as this may otherwise make it impossible to do an offline login in the system when the server is affected by some serious problem.
- In the loginUtils request, if the request fails with an unexpected error, we will try to continue with the main flow to allow an offline login to be completed.

---
M web/org.openbravo.retail.posterminal/js/login/model/login-model.js
---
(0107416)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: eb0b15377edd69354f6d601dea5166d9c0265ce2
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:25:04 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/eb0b15377edd69354f6d601dea5166d9c0265ce2 [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
Added some basic check with a database query. Modified the response to ensure that it follows a correct format.

---
M src/org/openbravo/mobile/core/login/CheckServerAvailability.java
---
(0107417)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: c98caa4d62bd96316a12ba71a9584dd714e3e311
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:27:03 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/c98caa4d62bd96316a12ba71a9584dd714e3e311 [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
If server ran out of connections, we will generate an '500-Internal Server Error'. Otherwise, if it's just a normal Exception, we assume that it is a plain defect in functional code which should not be considered cause of a general server problem, and will return a standard error with a 200 response.

---
M src/org/openbravo/mobile/core/login/MobileCoreLoginUtilsServlet.java
---
(0107418)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: 6d80a3b12128795c3ce34132cb3d70b0c6c11924
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:28:07 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/6d80a3b12128795c3ce34132cb3d70b0c6c11924 [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
Do not catch Throwables, we just let them leak to super classes, in which they will be handled correctly (will still return '500 Internal Server error' in this case)

---
M src/org/openbravo/mobile/core/process/MobileService.java
---
(0107419)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: 3f68c37aa924b5289e8b416241ceac4a88f83a3a
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:28:46 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/3f68c37aa924b5289e8b416241ceac4a88f83a3a [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
Do not catch Throwables, we just let them leak to super classes, in which they will be handled correctly (will still return '500 Internal Server error' in this case).

---
M src/org/openbravo/mobile/core/process/WebServiceAbstractServlet.java
---
(0107420)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: a328c61c3a84418412c64c1152eb0fcd8d6e604e
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:30:22 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/a328c61c3a84418412c64c1152eb0fcd8d6e604e [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
> Avoid setting wrong (unauthorized) state, in case HttpSecureAppServlet was affected by an exception in a critical part, and returned a 500 state

---
M src/org/openbravo/mobile/core/process/WebServiceAuthenticatedServlet.java
---
(0107421)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: a26adea2f5e89ffbae421194e66daa7340343598
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:31:33 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/a26adea2f5e89ffbae421194e66daa7340343598 [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
Ensure transitionToOnline counter correctly resets to the next step, in case of CheckServerAvailability error.

---
M web/org.openbravo.mobile.core/source/data/ob-requestrouter.js
---
(0107422)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: 68275e17a6b512cc39719cce0084eed94629fc7d
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Thu Oct 11 18:32:22 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/68275e17a6b512cc39719cce0084eed94629fc7d [^]

Fixed issue 39445. The terminal does not go to offline mode if the database is colapsed but the tomcat works
When doing offline login ensure that when connectedToERP variable changes due to the load of the Terminal object from cache, this doesn't affect the rest of the login process.

---
M web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
---
(0107423)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: 8256ac23bcf35e4e0fbd91e1f1dc50621f56a6f8
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Sat Oct 13 19:02:46 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/8256ac23bcf35e4e0fbd91e1f1dc50621f56a6f8 [^]

Related to issue 39445. Applied formatter.

---
M web/org.openbravo.mobile.core/source/data/ob-requestrouter.js
---
(0107424)
hgbot   
2018-10-18 10:35   
Repository: retail/backports/3.0RR18Q4/org.openbravo.mobile.core
Changeset: c0e150c4169987c45e9d6d6c78d5590c8422e7ea
Author: Antonio Moreno <antonio.moreno <at> openbravo.com>
Date: Tue Oct 16 14:15:30 2018 +0200
URL: http://code.openbravo.com/retail/backports/3.0RR18Q4/org.openbravo.mobile.core/rev/c0e150c4169987c45e9d6d6c78d5590c8422e7ea [^]

Related to issue 39445. Language will not be reset if response is invalid.

---
M web/org.openbravo.mobile.core/source/model/ob-terminal-model.js
---
(0107681)
migueldejuana   
2018-10-31 07:26   
Tested and reviewed