2 Replies Latest reply on Sep 21, 2016 6:37 AM by hchiorean

    Existing node in child references can't be found when needed

    vdepauw

      Hi,

       

      I have a repository where a node is still in cache, but can't be found from an explicit call:

      1. When I try to explicitly get the node from its absoluth path, it cannot be found. CachedNode.getChildReferences() will find the ChildReference but CachedNode.getNode(ref) don't.

      2. If I add a node with the same name under its parent, it will be created as name sibling [2]

       

      Is there any way to programmatically restore or remove this node? I'm working with modeshape 4.6.0.Final

        • 1. Re: Existing node in child references can't be found when needed
          vdepauw

          I can confirm after performing a backup the node is not in base but still referenced by its parent.

          • 2. Re: Existing node in child references can't be found when needed
            hchiorean

            From the description it sounds like something caused data corruption w/ regards to child references. I suggest you migrate to ModeShape 5 which doesn't use Infinispan and which should hopefully be more robust data-integrity wise.

             

            There is not automated way to fix data corruption. If applicable, you could try explicitly removing and recreating the parent and the child nodes. Also, if you're restoring from a corrupted backup, you can manually edit the backup (the content of the backup is plain text JSON) and remove from the parent the corrupt child reference.