[MAGNOLIA-7326] Improve import & export functions to avoid OOM error Created: 31/May/18 Updated: 20/Aug/21 Resolved: 16/Oct/19 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | None |
| Affects Version/s: | 5.5.4, 5.6.5 |
| Fix Version/s: | 5.5.16, 5.6.12, 5.7.6, 6.1.3, 6.2 |
| Type: | Bug | Priority: | Neutral |
| Reporter: | Viet Nguyen | Assignee: | Michael Duerig |
| Resolution: | Fixed | Votes: | 2 |
| Labels: | export | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Template: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Acceptance criteria: |
Empty
|
||||||||||||||||||||||||||||||||||||||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||||||||||||||||||||||||||||||||||||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||||||||||||||||||||||||||||||||||||||||||
| Release notes required: |
Yes
|
||||||||||||||||||||||||||||||||||||||||||||
| Date of First Response: | |||||||||||||||||||||||||||||||||||||||||||||
| Epic Link: | Support | ||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | UI Framework 8 | ||||||||||||||||||||||||||||||||||||||||||||
| Story Points: | 5 | ||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
There have been more and more customers reporting Out of memory when exporting their data while using our JCR export function. Let's find a way to remedy this situation. |
| Comments |
| Comment by Michael Duerig [ 27/Sep/19 ] |
|
The JcrExportCommand relies on JDOM, which builds an in memory representation of the exported workspace. This is the most likely causing the OOME for big workpaces. AFAICS, fixing this would require re-implementing the export functionality without relying on JDOM. |
| Comment by Roman Kovařík [ 27/Sep/19 ] |
|
While you're already on it, could you prove it (by commenting out that part of the code)? |
| Comment by Michael Duerig [ 30/Sep/19 ] |
|
See this commit for a POC reproducing the problem: Run info.magnolia.importexport.command.JcrExportCommandTest.exportOOME and observe jstat -gcutil (see jstat.log |
| Comment by Roman Kovařík [ 30/Sep/19 ] |
|
I don't have access to your repo but feel free to create PR where anybody can join the discussion. |
| Comment by Michael Duerig [ 30/Sep/19 ] |
|
PR here. |
| Comment by Michael Duerig [ 03/Oct/19 ] |
|
asiska, rkovarik, I just submitted PR #746 with a proposed fix for this issue. Please have a look once you get around to it. |
| Comment by Michael Duerig [ 16/Oct/19 ] |
|
Merged https://git.magnolia-cms.com/projects/PLATFORM/repos/main/pull-requests/750/overview |