jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bart van der Schans (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-2877) Extend the consistency check in BundleDbPersistenceManager's to fix child-parent relations
Date Wed, 09 Feb 2011 11:29:57 GMT

    [ 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


View raw message