Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0052189
TypeCategorySeverityReproducibilityDate SubmittedLast Update
backport[Openbravo ERP] A. Platformmajoralways2023-04-20 08:302023-04-20 15:12
ReporteralostaleView Statuspublic 
Assigned Toalostale 
PriorityurgentResolutionfixedFixed in VersionPR23Q1.2
StatusclosedFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget VersionPR23Q1.2
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Web browser
ModulesCore
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0052189: resources (open file descriptors and java threads) leaked on push API

DescriptionPush 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
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
blocks defect 0052178 closedalostale resources (open file descriptors and java threads) leaked on push API 

-  Notes
(0148642)
hgbot (developer)
2023-04-20 14:28

Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/861 [^]
(0148646)
hgbot (developer)
2023-04-20 15:12

Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/861 [^]
(0148647)
hgbot (developer)
2023-04-20 15:12

Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: c49798aa8c71c9ad6a087e997ade3e4fbd680fd8
Author: Asier Lostalé <asier.lostale@openbravo.com>
Date: 20-04-2023 14:25:34
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/c49798aa8c71c9ad6a087e997ade3e4fbd680fd8 [^]

fixes BUG-52189: 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 14:13 alostale Type defect => backport
2023-04-20 14:13 alostale Target Version => PR23Q1.2
2023-04-20 14:28 hgbot Note Added: 0148642
2023-04-20 15:12 hgbot Resolution open => fixed
2023-04-20 15:12 hgbot Status scheduled => closed
2023-04-20 15:12 hgbot Fixed in Version => PR23Q1.2
2023-04-20 15:12 hgbot Note Added: 0148646
2023-04-20 15:12 hgbot Note Added: 0148647


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker