Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0038390 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
design defect | [Retail Modules] Web POS | minor | have not tried | 2018-04-17 13:02 | 2018-05-21 10:06 | |||
Reporter | alostale | View Status | public | |||||
Assigned To | marvintm | |||||||
Priority | normal | Resolution | fixed | Fixed in Version | RR18Q3 | |||
Status | closed | Fix in branch | Fixed in SCM revision | 0e18b8cfd67f | ||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Merge Request Status | ||||||||
Review Assigned To | guilleaer | |||||||
OBNetwork customer | No | |||||||
Support ticket | ||||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0038390: request timeout is checked only after reading the whole request content | |||||||
Description | While reading request content it is checked whether the request has timed out on after each line is read to stop processing if so (see 0037851). In most of the cases (ie. LogClient) the whole content is represented as a single line, which makes this part of the fix useless as in practice it only will time out after reading the whole request content. | |||||||
Steps To Reproduce | 1. Log in WebPOS 2. Simulate slow network by setting browser's network throttilng (set to something really slow) 3. Generate big log client to be sent, ie. execute: for (var i =0;i<500;i++) { var s = i + '-' for (var j=0; j<4096; j++) s += 'c' OB.warn(s) } 4. Wait till log client is sent to backend -> Check the request is detected as timed out only after the whole content is read | |||||||
Proposed Solution | Instead of reading the request line by line, do it using a fixed buffer size to be able to check timeout in a more frequent basis. | |||||||
Tags | Performance | |||||||
Attached Files | ![]() | |||||||
![]() |
|||||||||||||||
|
![]() |
|
(0103935) alostale (viewer) 2018-04-17 13:09 |
Attached proposed fix. Pending to be tested, specially: * Compare performance with previous implementation * Ensure it works properly (ie. ensure encoding is correct, etc.) |
(0104281) hgbot (developer) 2018-05-04 13:10 |
Repository: erp/pmods/org.openbravo.mobile.core Changeset: 0e18b8cfd67f408e753b45a207a081f24bc07c93 Author: Antonio Moreno <antonio.moreno <at> openbravo.com> Date: Thu May 03 18:43:26 2018 +0200 URL: http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/0e18b8cfd67f408e753b45a207a081f24bc07c93 [^] fixed 38390: request timeout is checked after reading the whole request content * Now request is read in chunks of 4096 characters (this size is the same as the one that was already being used in Tomcat's CoyoteReader.readLine) instead of line by line. * After each chunk time out is checked. * Additionally, prevent generating debugging potentially big String if it's not going to be used. --- M src/org/openbravo/mobile/core/process/WebServiceAuthenticatedServlet.java --- |
![]() |
|||
Date Modified | Username | Field | Change |
2018-04-17 13:02 | alostale | New Issue | |
2018-04-17 13:02 | alostale | Assigned To | => Retail |
2018-04-17 13:02 | alostale | OBNetwork customer | => No |
2018-04-17 13:02 | alostale | Triggers an Emergency Pack | => No |
2018-04-17 13:03 | alostale | Relationship added | related to 0037851 |
2018-04-17 13:03 | alostale | Relationship added | related to 0038389 |
2018-04-17 13:03 | alostale | Tag Attached: Performance | |
2018-04-17 13:08 | alostale | File Added: 38390.export | |
2018-04-17 13:09 | alostale | Note Added: 0103935 | |
2018-05-04 13:10 | hgbot | Checkin | |
2018-05-04 13:10 | hgbot | Note Added: 0104281 | |
2018-05-04 13:10 | hgbot | Status | new => resolved |
2018-05-04 13:10 | hgbot | Resolution | open => fixed |
2018-05-04 13:10 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/pmods/org.openbravo.mobile.core/rev/0e18b8cfd67f408e753b45a207a081f24bc07c93 [^] |
2018-05-04 15:25 | marvintm | Assigned To | Retail => marvintm |
2018-05-21 10:06 | guilleaer | Review Assigned To | => guilleaer |
2018-05-21 10:06 | guilleaer | Status | resolved => closed |
2018-05-21 10:06 | guilleaer | Fixed in Version | => RR18Q3 |
Copyright © 2000 - 2009 MantisBT Group |