jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Unico Hommes (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JCR-3267) Consistency checker needs to run multiple times to fix all problems
Date Wed, 21 Mar 2012 15:35:39 GMT
Consistency checker needs to run multiple times to fix all problems
-------------------------------------------------------------------

                 Key: JCR-3267
                 URL: https://issues.apache.org/jira/browse/JCR-3267
             Project: Jackrabbit Content Repository
          Issue Type: Bug
            Reporter: Unico Hommes


When a node has lost its reference to more than one child only one child node entry is fixed.

This is because the bundles that need modification are first all stored in a collection before
being stored as the last step.

The process is something like the following:

1. node n1 is checked, the parent bundle p1 of n1 is loaded from pm
2. p1 does not have a child node entry for n1
3. a child node entry to n1 is added to p1
4. p1 is added to the collection of bundles to be saved when all checking has been done
5. node n2 is checked, the parent bundle p1 of n2 is loaded from pm (without the previous
modifications because the bundle was not yet stored)
6. p1 does not have a child node entry for n2
7. a child node entry to n2 is added to p1
8 p1 is added to the collection of bundles to be saved when all checking has been done
9 after all checking has been done the collections of modified bundles is iterated over
10. p1 is in the collection twice, once with a fix for n1 and once with a fix for n2
11 last one wins and p1 still doesn't have a child node entry for n1

I'll attach a patch with a proposed fix.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message