Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0052178 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Openbravo ERP] A. Platform | major | always | 2023-04-20 08:30 | 2023-05-02 08:40 | |||
Reporter | alostale | View Status | public | |||||
Assigned To | alostale | |||||||
Priority | urgent | Resolution | fixed | Fixed in Version | PR23Q3 | |||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | ||||||||
Web browser | ||||||||
Modules | Core | |||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0052178: resources (open file descriptors and java threads) leaked on push API | |||||||
Description | Push API, technically any user of ExternalSystem, generate over the time many open file descriptors that are never closed as well as many HttpClient-xx-SelectorManager threads. | |||||||
Steps To Reproduce | 1.1 Observe a customer with usage of push API, see how open file descriptors (lsof) and HttpClient threads increase over the time. Execute for monitoring: watch 'PID=$(jps | grep Bootstrap | cut -f1 -d " "); echo "HttpClient threads: $(jstack $PID | grep HttpClient- | wc -l)"; echo "pipes and polls $(lsof -p $PID | grep -e pipe -e eventpoll | wc -l)"' or create the following artificial reproducer 2.1 Apply the attached reproducer 2.2 Having installed api modules, create a subscription to order creation 2.3 In Openbravo open about form to launch the reproducer 2.4 Monitor with the previous command | |||||||
Tags | No tags attached. | |||||||
Attached Files | 52178-reproducer.diff [^] (2,960 bytes) 2023-04-20 08:43 [Show Content]
Selection_117.png [^] (20,455 bytes) 2023-04-20 08:43 | |||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | |||||||||||||||||||||||||||||
|
Notes | |
(0148634) hgbot (developer) 2023-04-20 12:30 |
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/860 [^] |
(0148640) hgbot (developer) 2023-04-20 14:18 |
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/860 [^] |
(0148641) hgbot (developer) 2023-04-20 14:18 |
Directly closing issue as related merge request is already approved. Repository: https://gitlab.com/openbravo/product/openbravo [^] Changeset: 01d34800f8df29dc9bdb8479b0fe1f09031a077c Author: Asier Lostalé <asier.lostale@openbravo.com> Date: 20-04-2023 13:25:45 URL: https://gitlab.com/openbravo/product/openbravo/-/commit/01d34800f8df29dc9bdb8479b0fe1f09031a077c [^] fixes BUG-52178: ExternalSystem instances are leaked Injecting @Depedent scoped ExternalSystem instances in @ApplicationScoped ExternalSystemProvider caused the former instances to be retained as part of the latte's context. Each HttpExternalSystem references to a JDK's HttpClient intance which causes its threads and file descriptors to be kept open forever even after the ExternalSystem is disposed from the cache. Instantiating them through the BeanManager (which is indirectly done by the WeldUtils) prevents this leak --- M src/org/openbravo/service/externalsystem/ExternalSystemProvider.java --- |
Issue History | |||
Date Modified | Username | Field | Change |
2023-04-20 08:30 | alostale | New Issue | |
2023-04-20 08:30 | alostale | Assigned To | => Triage Platform Base |
2023-04-20 08:30 | alostale | Modules | => Core |
2023-04-20 08:30 | alostale | Triggers an Emergency Pack | => No |
2023-04-20 08:43 | alostale | File Added: 52178-reproducer.diff | |
2023-04-20 08:43 | alostale | File Added: Selection_117.png | |
2023-04-20 12:30 | hgbot | Note Added: 0148634 | |
2023-04-20 14:11 | alostale | Assigned To | Triage Platform Base => alostale |
2023-04-20 14:13 | alostale | Status | new => scheduled |
2023-04-20 14:18 | hgbot | Resolution | open => fixed |
2023-04-20 14:18 | hgbot | Status | scheduled => closed |
2023-04-20 14:18 | hgbot | Note Added: 0148640 | |
2023-04-20 14:18 | hgbot | Fixed in Version | => PR23Q3 |
2023-04-20 14:18 | hgbot | Note Added: 0148641 | |
2023-04-27 09:26 | alostale | Relationship added | caused by 0048579 |
2023-05-02 08:40 | alostale | Relationship added | depends on 0049951 |
Copyright © 2000 - 2009 MantisBT Group |