Hi Stefan,
what's the exact output of the consistencyCheck/Fix? dangling child
node entries
should be fixable.
The output was :
2009-08-06 12:01:39,350 ERROR
[org
.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager]
NodeState cd0adbec-b2
7d-44b3-900f-d720f705c2e6 references inexistent parent id
c511b2ee-8183-43ea-ae96-fabb27badfba
If I understand the message right, this is a different node that
references the same inexistent parent as the node causing the problem?
At least the first UUID ist not mentioned in the exception message...
do you know the path of the corrupted node? are you able to navigate
to
the node?
No, but getting the node by UUID still works...
Is there anything that I could do to solve this or remove the node,
maybe
through Jackrabbit API or even direct manipulation of the database
content?
Any ideas are highly appreciated.
if everything fails, you could try to fix that inconsistency
programmatically,
e.g. by directly reading the troublesome NodeState instance through
the
pm, fix it and write it back. but you'll have to get your hands
dirty...
That's what I did now. Wrote a small program that accesses the
workspace persistence manager through the JCA handle and
RepositoryImpl (partially by using Java reflection to call protected
methods and fields), and then deleted the broken NodeState from the
repository. So far that doesn't seem to have caused any further
problems.
Many thanks for the hint!
Regards,
Jan