jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthias Reischenbacher (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-2292) attempt to access a deleted document
Date Fri, 02 Oct 2009 14:59:23 GMT

    [ https://issues.apache.org/jira/browse/JCR-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761601#action_12761601
] 

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.


Mime
View raw message