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 "Timothee Maret (JIRA)" <ji...@apache.org> on 2015/06/09 10:30:01 UTC
[jira] [Created] (OAK-2968) Reduce commits memory footprint of
ModifiedNodeState
Timothee Maret created OAK-2968:
-----------------------------------
Summary: Reduce commits memory footprint of ModifiedNodeState
Key: OAK-2968
URL: https://issues.apache.org/jira/browse/OAK-2968
Project: Jackrabbit Oak
Issue Type: Improvement
Components: core
Affects Versions: 1.2.2
Reporter: Timothee Maret
As described in [0] large commits consume a fair amount of memory. With very large commits, this become problematic as commits may eat up 100GB or more and thus causing OOME and aborting the commit.
The current representation of commits in memory uses a tree which each node contains HashMaps for the changed properties as well as sub-nodes.
In cases where the tree is deep but not sparse, most of the children HashMaps will contain 1 element yet they are created with the default capacity (16) thus wasting space.
This issue covers a simple way to reduce the memory consumption in this case by simply creating HashMaps of the required capacity (where applicable) or of minimal capacity (1) where unknown.
[0] http://permalink.gmane.org/gmane.comp.apache.jackrabbit.oak.devel/8196
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)