Hi all,
Somehow queries against my repository end up finding nodes that don't exist
anymore, resulting in stack traces and an inoperable Magnolia. Here's a
partial stack trace:
magnolia: ERROR
org.apache.jackrabbit.core.query.lucene.DocOrderNodeIteratorImpl
DocOrderNodeIteratorImpl.java(compare:244) 09.10.2006 11:54:00 Exception
while sorting nodes in document order: javax.jcr.ItemNotFoundException:
failed to build path of dc800c0e-58b5-4a57-9103-8458392c97c8:
5e64642e-86cf-4747-bb0c-ab216d0e1f58: 5e64642e-86cf-4747-bb0c-ab216d0e1f58
javax.jcr.ItemNotFoundException: failed to build path of
dc800c0e-58b5-4a57-9103-8458392c97c8: 5e64642e-86cf-4747-bb0c-ab216d0e1f58:
5e64642e-86cf-4747-bb0c-ab216d0e1f58
at
org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:361)
at
org.apache.jackrabbit.core.CachingHierarchyManager.getPath(CachingHierarchyManager.java:220)
at org.apache.jackrabbit.core.ItemImpl.getPrimaryPath(ItemImpl.java:305)
at
org.apache.jackrabbit.core.query.lucene.DocOrderNodeIteratorImpl$1.compare(DocOrderNodeIteratorImpl.java:202)
at java.util.Arrays.mergeSort(Arrays.java:1284)
at java.util.Arrays.sort(Arrays.java:1223)
at
org.apache.jackrabbit.core.query.lucene.DocOrderNodeIteratorImpl.initOrderedIterator(DocOrderNodeIteratorImpl.java:179)
at
org.apache.jackrabbit.core.query.lucene.DocOrderNodeIteratorImpl.hasNext(DocOrderNodeIteratorImpl.java:135)
I googled for the principle error "Exception while sorting nodes in document
order" and found references to jackrabbit and the lucene indexing and how
they can get out of sync:
http://issues.apache.org/jira/browse/JCR-160?page=comments#action_12315546
Has anybody come across this problem and know the workaround? I suspect the
fix is to use a newer version of lucene. Magnolia appears to use lucene
version 1.4.3.
Cheers,
Chris
----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------