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 "Michael Dürig (JIRA)" <ji...@apache.org> on 2016/10/18 16:18:58 UTC
[jira] [Commented] (OAK-4949) SegmentWriter buffers child node list
changes
[ https://issues.apache.org/jira/browse/OAK-4949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15585878#comment-15585878 ]
Michael Dürig commented on OAK-4949:
------------------------------------
I remember having discussed this a while ago with [~jukkaz]. Back then the conclusion was that adding "many" direct child nodes to a node is not a supported use case.
> SegmentWriter buffers child node list changes
> ---------------------------------------------
>
> Key: OAK-4949
> URL: https://issues.apache.org/jira/browse/OAK-4949
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segment-tar
> Reporter: Alex Parvulescu
> Assignee: Alex Parvulescu
>
> The {{SegmentWriter}} currently buffers the list of child nodes changed on a nodestate update [0] (new node or updated node). This can be problematic in a scenario where there are a large number of children added to a node (ie. unique index size seen to spike above {{10MM}} in one case).
> To have a reference for the impact of this, at the {{SegmentWriter}} level, for a list of map entries of almost {{3MM}} items, I saw it take up around {{245MB}} heap.
> This issue serves to track a possible improvement here in how we handle this update scenario.
> [0] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentWriter.java#L516
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)