[
https://issues.apache.org/jira/browse/OAK-2492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14314055#comment-14314055
]
Chetan Mehrotra commented on OAK-2492:
--------------------------------------
bq. Could the new flag carry a timeout - eg a few minutes, an hour - after
which it would become invalid and would have to be calculated again?
Can be done but not sure it would be worth the effort. This would only benefit
cases where for a given parent number of child nodes changes from say 60 to 10.
If required we can support such a feature later
> 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
> Fix For: 1.0.12, 1.1.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
(v6.3.4#6332)