Project:
| View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
| ID | ||||||||
| 0043313 | ||||||||
| Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
| backport | [Modules] External Integration Infrastructure | critical | have not tried | 2020-02-24 18:26 | 2020-03-02 12:07 | |||
| Reporter | caristu | View Status | public | |||||
| Assigned To | caristu | |||||||
| Priority | high | Resolution | fixed | Fixed in Version | ||||
| 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 | |||||||
| Merge Request Status | ||||||||
| Regression date | ||||||||
| Regression introduced by commit | ||||||||
| Regression level | ||||||||
| Review Assigned To | AugustoMauch | |||||||
| Support ticket | ||||||||
| OBNetwork customer | No | |||||||
| Regression introduced in release | ||||||||
| Summary | 0043313: Memory leak in SBOImporterStore and SBOExporterStore | |||||||
| Description | The SBOImporterStore is an @ApplicationScoped bean that centralizes the generation of SBOImporters. To do so, it has an injection to point to retrieve the SBOImporter beans (which are @Dependant scoped) and retrieves the correct instance depending on an Entity Mapping in particular (this is because currently we support two kind of mapping types: ManualBOB and RetailAPI) The problem is that all these created instances are living as long as the bean instance they are injected in is living. As the SBOImporterStore is @ApplicationScoped they are never being garbage collected which can eventually lead to OutOfMemory errors (see attached images with a memory dump of an environment affected by this issue). This very same problem also happens with the SBOExporterStore. See here[1] for a more detailed explanation regarding this problem. [1] https://blog.akquinet.de/2017/01/04/dont-get-trapped-into-a-memory-leak-using-cdi-instance-injection/ [^] | |||||||
| Steps To Reproduce | In description | |||||||
| Proposed Solution | Avoid injecting the SBOImporter and SBOExportes in their corresponding application scoped stores. | |||||||
| Tags | No tags attached. | |||||||
| Attached Files | ||||||||
Relationships [ Relation Graph ]
[ Dependency Graph ]
|
||||||||
|
||||||||
Notes |
|
|
(0118065) caristu (viewer) 2020-02-24 19:23 |
Backport MR: https://gitlab.com/openbravo/product/pmods/org.openbravo.service.external.integration/-/merge_requests/1 [^] |
|
(0118235) caristu (viewer) 2020-03-02 12:07 |
Backported to version 2.0.401: https://gitlab.com/openbravo/product/pmods/org.openbravo.service.external.integration/-/commit/e32748ce1ac4b9db72cf5e12745c9db850838798 [^] |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2020-02-24 18:26 | caristu | New Issue | |
| 2020-02-24 18:26 | caristu | Assigned To | => caristu |
| 2020-02-24 18:26 | caristu | OBNetwork customer | => No |
| 2020-02-24 18:26 | caristu | Issue generated from | 0043309 |
| 2020-02-24 18:27 | caristu | Relationship added | blocks 0043309 |
| 2020-02-24 19:23 | caristu | Review Assigned To | => AugustoMauch |
| 2020-02-24 19:23 | caristu | Note Added: 0118065 | |
| 2020-03-02 12:06 | caristu | Status | new => acknowledged |
| 2020-03-02 12:06 | caristu | Status | acknowledged => scheduled |
| 2020-03-02 12:07 | caristu | Note Added: 0118235 | |
| 2020-03-02 12:07 | caristu | Status | scheduled => resolved |
| 2020-03-02 12:07 | caristu | Resolution | open => fixed |
| 2020-03-02 12:07 | caristu | Status | resolved => closed |
| Copyright © 2000 - 2009 MantisBT Group |