[
https://issues.apache.org/jira/browse/JCR-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761603#action_12761603
]
Matthias Reischenbacher commented on JCR-2292:
----------------------------------------------
I'm getting the exact same error. Regenerating the index helps also in my case,
but I'm getting this error at least once a day.
For error analysis I'm posting the query I've used and the stack trace.
I'm using Jackrabbit 1.5.5
//element(*,nt:hierarchyNode)[((((*/@smc:published-de and
*/@smc:published-de='LastVersion') or ( not(*/@smc:published-de) and
*/@smc:published='LastVersion')) and (@smc:objType='relationbuilder')))]
ERROR [http-8080-Processor19] Could not retrieve nodes: attempt to access a
deleted document (line 1719)
java.lang.IllegalArgumentException: attempt to access a deleted document
at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:657)
at
org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:147)
at
org.apache.jackrabbit.core.query.lucene.CachingIndexReader.getParent(CachingIndexReader.java:115)
at
org.apache.jackrabbit.core.query.lucene.SharedIndexReader.getParent(SharedIndexReader.java:65)
at
org.apache.jackrabbit.core.query.lucene.ReadOnlyIndexReader.getParent(ReadOnlyIndexReader.java:120)
at
org.apache.jackrabbit.core.query.lucene.CachingMultiIndexReader.getParentDocId(CachingMultiIndexReader.java:110)
at
org.apache.jackrabbit.core.query.lucene.CachingMultiIndexReader.getParent(CachingMultiIndexReader.java:95)
at
org.apache.jackrabbit.core.query.lucene.JackrabbitIndexReader.getParent(JackrabbitIndexReader.java:86)
at
org.apache.jackrabbit.core.query.lucene.ParentAxisQuery$ParentAxisScorer$1.collect(ParentAxisQuery.java:317)
at org.apache.lucene.search.Scorer.score(Scorer.java:58)
at
org.apache.jackrabbit.core.query.lucene.ParentAxisQuery$ParentAxisScorer.calculateParent(ParentAxisQuery.java:314)
at
org.apache.jackrabbit.core.query.lucene.ParentAxisQuery$ParentAxisScorer.next(ParentAxisQuery.java:267)
at org.apache.lucene.search.ConjunctionScorer.init(ConjunctionScorer.java:80)
at org.apache.lucene.search.ConjunctionScorer.next(ConjunctionScorer.java:48)
at org.apache.lucene.search.BooleanScorer2.next(BooleanScorer2.java:352)
at
org.apache.lucene.search.DisjunctionSumScorer.initScorerDocQueue(DisjunctionSumScorer.java:105)
at
org.apache.lucene.search.DisjunctionSumScorer.next(DisjunctionSumScorer.java:144)
at org.apache.lucene.search.BooleanScorer2.next(BooleanScorer2.java:352)
at org.apache.lucene.search.ConjunctionScorer.init(ConjunctionScorer.java:80)
at org.apache.lucene.search.ConjunctionScorer.next(ConjunctionScorer.java:48)
at org.apache.lucene.search.BooleanScorer2.next(BooleanScorer2.java:352)
at org.apache.lucene.search.ConjunctionScorer.init(ConjunctionScorer.java:80)
at org.apache.lucene.search.ConjunctionScorer.next(ConjunctionScorer.java:48)
at org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:319)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:146)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:124)
at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:100)
at org.apache.lucene.search.Hits.<init>(Hits.java:77)
at org.apache.lucene.search.Searcher.search(Searcher.java:55)
at
org.apache.jackrabbit.core.query.lucene.JackrabbitIndexSearcher.evaluate(JackrabbitIndexSearcher.java:83)
at
org.apache.jackrabbit.core.query.lucene.JackrabbitIndexSearcher.execute(JackrabbitIndexSearcher.java:64)
at
org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:705)
at
org.apache.jackrabbit.core.query.lucene.QueryResultImpl.executeQuery(QueryResultImpl.java:242)
at
org.apache.jackrabbit.core.query.lucene.QueryResultImpl.getResults(QueryResultImpl.java:292)
at
org.apache.jackrabbit.core.query.lucene.QueryResultImpl.<init>(QueryResultImpl.java:191)
at
org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:130)
at org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:177)
at smc.jcr.AbstractJCRData.search(AbstractJCRData.java:3537)
at smc.jcr.AbstractJCRData.search(AbstractJCRData.java:3523)
at smc.jcr.AbstractJCRData$1.queryNodes(AbstractJCRData.java:1628)
at smc.jcr.AbstractJCRData$1.getPropertiesByQuery(AbstractJCRData.java:1713)
> attempt to access a deleted document
> ------------------------------------
>
> Key: JCR-2292
> URL: https://issues.apache.org/jira/browse/JCR-2292
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Affects Versions: 1.6.0
> Environment: Windows XP, Java 1.6.0_13-b03
> Reporter: Imran
> Priority: Critical
>
> When I run the query : items//*[(jcr:contains(@MYATTRIB, 'MYATTRIB-VALUE') I
> get results back.
> But if I add a "not" condition: items//*[not(jcr:contains(@MYATTRIB,
> 'MYATTRIB-VALUE') , I get "java.lang.IllegalArgumentException: attempt to
> access a deleted document" exception
> After I renamed the index directory [effectively forcing a re-index], and ran
> the application again, the "not" condition query works. If I restore the
> previous index I get the error again.
> The workaround of deleting index is fine in the development environment. But
> once we go to production, we will not have the option to delete the index
> directories.
> Btw, I found that a similar defect [JCR-1573] was reported and marked as
> fixed. Apparently it keeps re-surfacing under different conditions.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.