You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Unico Hommes (Commented) (JIRA)" <ji...@apache.org> on 2012/03/21 16:37:40 UTC

[jira] [Commented] (JCR-3267) Consistency checker needs to run multiple times to fix all problems

    [ https://issues.apache.org/jira/browse/JCR-3267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13234430#comment-13234430 ] 

Unico Hommes commented on JCR-3267:
-----------------------------------

Patch against 2.6 trunk. Patch includes patch for JCR-3265
                
> 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
>         Attachments: singlerunfix.patch
>
>
> 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