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

Bart van der Schans commented on JCR-2877:
------------------------------------------

We found two distinct cases:
- a parent referencing a child node that no longer exists
- a node of which the parent is missing (these can show up in searches)

In the first case we just remove the reference to the child node. In the second 
case we delete the node and all of it's children. This could potentially be a 
bit dangerous, but in our case we found that these nodes are usually leftovers 
from delete actions. Another option could be, but that requires a bit more 
work, follow the unix analogy of a lost+found folder. So instead of removing 
them just make them children of a  "special" node.

I have to admit that we have mostly been using 1.5 and with recent 1.5 versions 
we see almost no data corruption anymore. There have also been some bugs in our 
custom extensions with virtual layers which caused some of these problems in 
the past.

We always had great difficulty reproducing the data corruptions. Sometimes we 
found a way to reproduce one, but others times not at all. 

 



> Extend the consistency check in BundleDbPersistenceManager's to fix 
> child-parent relations
> ------------------------------------------------------------------------------------------
>
>                 Key: JCR-2877
>                 URL: https://issues.apache.org/jira/browse/JCR-2877
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.2.2
>            Reporter: Claus Köll
>            Assignee: Claus Köll
>            Priority: Minor
>             Fix For: 2.3.0
>
>
> It could happen that a child node is not in the ChildNodeEntries of its 
> parent node.
> You will get something like (javax.jcr.ItemNotFoundException: failed to build 
> path of node1: parentNode has no child entry for node1) if you try to 
> retrieve the path from node1.
> We should handle such cases and fix it on consistency check

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to