You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Davide Giannella (JIRA)" <ji...@apache.org> on 2017/05/30 08:39:20 UTC
[jira] [Closed] (OAK-6110) Offline compaction uses too much memory
[ https://issues.apache.org/jira/browse/OAK-6110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davide Giannella closed OAK-6110.
---------------------------------
Bulk close for 1.7.0
> Offline compaction uses too much memory
> ----------------------------------------
>
> Key: OAK-6110
> URL: https://issues.apache.org/jira/browse/OAK-6110
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: segment-tar
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Labels: memory, performance
> Fix For: 1.7.0, 1.8
>
>
> Using offline compaction on a repository with nodes having many direct child node I observed a steady increase of heap usage. This is cause by using a {{MemoryNodeBuilder}} in {{CompactDiff.childNodeAdded()}}, which causes all those child nodes to be cached in memory.
> Changing the line
> {code}
> child = EMPTY_NODE.builder();
> {code}
> to
> {code}
> child = writer.writeNode(EMPTY_NODE).builder();
> {code}
> fixes the problem as the latter returns a {{SegmentNodeBuilder}} where the former returns a {{MemoryNodeBuilder}}.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)