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 "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2017/01/18 15:14:26 UTC

[jira] [Updated] (OAK-5479) Overdue document split with many cluster nodes

     [ https://issues.apache.org/jira/browse/OAK-5479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcel Reutegger updated OAK-5479:
----------------------------------
    Attachment: OAK-5479.patch

Proposed fix with test attached to this issue.

> Overdue document split with many cluster nodes
> ----------------------------------------------
>
>                 Key: OAK-5479
>                 URL: https://issues.apache.org/jira/browse/OAK-5479
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, documentmk
>    Affects Versions: 1.0, 1.2, 1.4
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>            Priority: Minor
>         Attachments: OAK-5479.patch
>
>
> There are cases where a document split is overdue and it continues to grow until it hits the MongoDB limit of 16MB.
> It gets more likely, the more cluster nodes are running and when they all update the same property with a somewhat larger value. E.g. the :childOrder property of a node with many children.
> The current split logic has multiple triggers that will result in creating a previous document.
> - There are 100 old changes for a cluster node that can be moved
> - A node was recreated with a binary bigger than 4k
> - The main document is bigger than 256k and 30% of its size can be moved to a previous document
> The last condition may cause the uncontrolled growth of the document when there are many cluster nodes. If all cluster nodes continuously change a property on a node, then none of the cluster nodes will be able to move 30% of the document.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)