jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amit Jain (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-2492) Flag Document having many children
Date Tue, 01 Sep 2015 05:56:45 GMT

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

Amit Jain updated OAK-2492:
    Fix Version/s:     (was: 1.3.6)

> Flag Document having many children
> ----------------------------------
>                 Key: OAK-2492
>                 URL: https://issues.apache.org/jira/browse/OAK-2492
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mongomk
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>              Labels: performance
>             Fix For: 1.3.7
> Current DocumentMK logic while performing a diff for child nodes works as below
> # Get children for _before_ revision upto MANY_CHILDREN_THRESHOLD (which defaults to
50). Further note that current logic of fetching children nodes also add children {{NodeDocument}}
to {{Document}} cache and also reads the complete Document for those children
> # Get children for _after_ revision with limits as above
> # If the child list is complete then it does a direct diff on the fetched children
> # if the list is not complete i.e. number of children are more than the threshold then
it for a query based diff (also see OAK-1970)
> So in those cases where number of children are large then all work done in #1 above is
wasted and should be avoided. To do that we can mark those parent nodes which have many children
via special flag like {{_manyChildren}}. One such nodes are marked the diff logic can check
for the flag and skip the work done in #1
> This is kind of similar to way we mark nodes which have at least one child (OAK-1117)

This message was sent by Atlassian JIRA

View raw message