Openbravo Issue Tracking System - Openbravo ERP | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0051645 | Openbravo ERP | 04. Warehouse management | public | 2023-02-20 10:41 | 2023-03-16 13:32 |
Reporter | shuehner | ||||
Assigned To | tonialcaide | ||||
Priority | normal | Severity | major | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | OS | 5 | OS Version | ||
Product Version | |||||
Target Version | Fixed in Version | PR23Q2 | |||
Merge Request Status | approved | ||||
Review Assigned To | |||||
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 | 0051645: MaterialReceiptPending.processPurchaseOrder causes idle in transactions to be left (in some cases) | ||||
Description | Abandoned connection logging points to this file for opening connection marked as suspect: https://gitlab.com/openbravo/product/openbravo/-/blob/master/src/org/openbravo/erpCommon/ad_forms/MaterialReceiptPending.java#L326 [^] Checking that function processPurchaseOrder it opens it via getTransactionConnection. It does not have a finally block to 'always' close this connection. However it has several early "return" statements which neither manage this properly: https://gitlab.com/openbravo/product/openbravo/-/blob/master/src/org/openbravo/erpCommon/ad_forms/MaterialReceiptPending.java#L370 [^] https://gitlab.com/openbravo/product/openbravo/-/blob/master/src/org/openbravo/erpCommon/ad_forms/MaterialReceiptPending.java#L400 [^] https://gitlab.com/openbravo/product/openbravo/-/blob/master/src/org/openbravo/erpCommon/ad_forms/MaterialReceiptPending.java#L417 [^] Likely each of those is a candidate for causing this. Note: While fixing this please also fix up the bad logging (printStackTrace) in that function. | ||||
Steps To Reproduce | Should be possible to reproduce by: a.) Configuring to lob abandoned connections db.pool.logAbandoned=true db.pool.suspectTimeout=60 # 60s value chose just to aid in debugging b.) Trigger one of the 3 validations listed above + wait at least 60s c.) Check catalina.out, or tomcat console output | ||||
Proposed Solution | Either: - add properly connection handing to each early return which is missing it - Or add finally block to whole function managing centrally. | ||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2023-02-20 10:41 | shuehner | New Issue | |||
2023-02-20 10:41 | shuehner | Assigned To | => Triage Omni WMS | ||
2023-02-20 10:41 | shuehner | OBNetwork customer | => No | ||
2023-02-20 10:41 | shuehner | Modules | => Core | ||
2023-02-20 10:41 | shuehner | Triggers an Emergency Pack | => No | ||
2023-02-20 16:22 | tonialcaide | Assigned To | Triage Omni WMS => tonialcaide | ||
2023-02-22 11:21 | hgbot | Merge Request Status | => open | ||
2023-02-22 11:21 | hgbot | Note Added: 0146864 | |||
2023-03-15 10:36 | hgbot | Merge Request Status | open => approved | ||
2023-03-16 13:32 | hgbot | Resolution | open => fixed | ||
2023-03-16 13:32 | hgbot | Status | new => closed | ||
2023-03-16 13:32 | hgbot | Note Added: 0147605 | |||
2023-03-16 13:32 | hgbot | Fixed in Version | => PR23Q2 | ||
2023-03-16 13:32 | hgbot | Note Added: 0147606 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|