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 2014/12/11 15:34:14 UTC

[jira] [Updated] (OAK-2345) Diff reads too many nodes

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

Marcel Reutegger updated OAK-2345:
----------------------------------
    Description: 
DocumentNodeStore.diffManyChildren() may read too many nodes when there is an inactive cluster node with an old _lastRev on the root document. This is a regression introduced with the fix for OAK-2232.

The fix assumes an inactive cluster node does not have a revision range with an old revision seen at a current timestamp. The DocumentNodeStore will in fact purge revisions from the range in the RevisionComparator after an hour. But on startup the first background read may populate the RevisionComparator with a revision, which is potentially very old (e.g. if the clusterId is not used anymore). 

  was:
DocumentNodeStore.diffManyChildren() may read too many nodes when there is an inactive cluster node with an old _lastRev on the root document. This is a regression introduced with the fix for OAK-2232.

The fix assumes an inactive cluster nodes do not have a revision range with an old revision seen at a current timestamp. The DocumentNodeStore will in fact purge revisions from the range in the RevisionComparator after an hour. But on startup the first background read may populate the RevisionComparator with a revision, which is potentially very old (e.g. if the clusterId is not used anymore). 


> Diff reads too many nodes
> -------------------------
>
>                 Key: OAK-2345
>                 URL: https://issues.apache.org/jira/browse/OAK-2345
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, mongomk
>    Affects Versions: 1.0.8, 1.1.2, 1.1.3
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>             Fix For: 1.1.4
>
>
> DocumentNodeStore.diffManyChildren() may read too many nodes when there is an inactive cluster node with an old _lastRev on the root document. This is a regression introduced with the fix for OAK-2232.
> The fix assumes an inactive cluster node does not have a revision range with an old revision seen at a current timestamp. The DocumentNodeStore will in fact purge revisions from the range in the RevisionComparator after an hour. But on startup the first background read may populate the RevisionComparator with a revision, which is potentially very old (e.g. if the clusterId is not used anymore). 



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