Openbravo Issue Tracking System - Openbravo ERP | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0039362 | Openbravo ERP | A. Platform | public | 2018-09-27 14:52 | 2018-12-11 20:22 |
Reporter | alostale | ||||
Assigned To | alostale | ||||
Priority | normal | Severity | major | Reproducibility | random |
Status | closed | Resolution | fixed | ||
Platform | OS | 5 | OS Version | ||
Product Version | |||||
Target Version | 3.0PR19Q1 | Fixed in Version | 3.0PR19Q1 | ||
Merge Request Status | |||||
Review Assigned To | AugustoMauch | ||||
OBNetwork customer | No | ||||
Web browser | |||||
Modules | Core | ||||
Support ticket | |||||
Regression level | |||||
Regression date | |||||
Regression introduced in release | |||||
Regression introduced by commit | |||||
Triggers an Emergency Pack | No | ||||
Summary | 0039362: if ticket fails to be created due to no DB connections, no more tickets can be created from same terminal | ||||
Description | As per design when a ticket creation fails at infrastructure level, the system will not allow to create any new ticket from the same terminal until the problem is fixed. Subsequent tickets from that are marked as error in "Data Import Entries". The most common problem detected as infrastructural is running out of database connections. Although this situation is temporary and it gets automatically fixed when pressure in DB decreases, if there are tickets being processed in a moment where there are no connections to process but there is at least a connection to mark the ticket as error, it will be marked. Afterwards no tickets from that terminal will be created till errors are marked back as initial status. | ||||
Steps To Reproduce | Because it only happens under some race conditions, it cannot be easily reproduced. We can emulate these conditions as follows: 1. Apply patch consume-all-connections.diff 2. Set breakpoints to manually synchronize actions, in (line numbers from pi@fabe6e99f181): * About - line 60. Just when we exhausted the pool * ImportEntryProcessor - line 330. Start of doRunCycle * ImportEntryProcessor - line 441. Start of main catch block 3. In WebPOS create a ticket -> It will stop in ImportEntryProcessor 330 4. In backoffice open About popup -> It will consume all avaiable connections and stop in breakpoint 5. Resume thread stopped in 3 keeping stopped the one in About -> It will fail and stop in ImportEntryProcessor 441 6. Resume thread in About -> Connections are released 7. Resume thread in ImportEntryProcessor -> The entry is marked as error 8. Create more tickets from same terminal (no need of any breakpoint) -> Check: all these new tickets are set in error in Data Import Entries window Note pool cat get exhausted because of reaching pool limit or by reaching limit of physical DB connections, in latter case exception is dbms specific. | ||||
Proposed Solution | The case of running out of connections should be handled as special: - When it is detected, the ticket is left in Initial status instead of setting it in Error. - If there are more tickets to be processed in the same cycle, none will be tried to be processed. - Next cycle execution will pick all the tickets that were not processed and, if there are available connections, all will be processed. In this way the problem will not be automatically fixed when instead of exposing to the end user. | ||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | ![]() https://issues.openbravo.com/file_download.php?file_id=12191&type=bug ![]() https://issues.openbravo.com/file_download.php?file_id=12193&type=bug | ||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2018-09-27 14:52 | alostale | New Issue | |||
2018-09-27 14:52 | alostale | Assigned To | => alostale | ||
2018-09-27 14:52 | alostale | OBNetwork customer | => No | ||
2018-09-27 14:52 | alostale | Modules | => Core | ||
2018-09-27 14:52 | alostale | Triggers an Emergency Pack | => No | ||
2018-09-27 14:57 | alostale | Steps to Reproduce Updated | bug_revision_view_page.php?rev_id=17697#r17697 | ||
2018-09-27 14:57 | alostale | Steps to Reproduce Updated | bug_revision_view_page.php?rev_id=17698#r17698 | ||
2018-09-27 15:24 | alostale | File Added: consume-all-connections.diff | |||
2018-09-27 15:57 | alostale | Steps to Reproduce Updated | bug_revision_view_page.php?rev_id=17703#r17703 | ||
2018-09-27 15:57 | alostale | Proposed Solution updated | |||
2018-09-28 08:06 | alostale | File Added: 39362.export | |||
2018-09-28 08:06 | alostale | Note Added: 0107059 | |||
2018-09-28 08:12 | alostale | Status | new => scheduled | ||
2018-09-28 08:16 | alostale | Review Assigned To | => AugustoMauch | ||
2018-09-28 08:17 | alostale | Target Version | => 3.0PR19Q1 | ||
2018-10-04 09:22 | hgbot | Checkin | |||
2018-10-04 09:22 | hgbot | Note Added: 0107151 | |||
2018-10-04 09:22 | hgbot | Status | scheduled => resolved | ||
2018-10-04 09:22 | hgbot | Resolution | open => fixed | ||
2018-10-04 09:22 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/devel/pi/rev/d8c618c024703178e87d4b172b3f0fc34a6549f5 [^] | ||
2018-10-04 09:22 | hgbot | Checkin | |||
2018-10-04 09:22 | hgbot | Note Added: 0107152 | |||
2018-10-17 18:24 | AugustoMauch | Note Added: 0107378 | |||
2018-10-17 18:24 | AugustoMauch | Status | resolved => closed | ||
2018-10-17 18:24 | AugustoMauch | Fixed in Version | => 3.0PR19Q1 | ||
2018-12-11 20:22 | hudsonbot | Checkin | |||
2018-12-11 20:22 | hudsonbot | Note Added: 0108418 | |||
2018-12-11 20:22 | hudsonbot | Checkin | |||
2018-12-11 20:22 | hudsonbot | Note Added: 0108419 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|