You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Imran (JIRA)" <ji...@apache.org> on 2009/09/03 15:18:57 UTC

[jira] Created: (JCR-2292) attempt to access a deleted document

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.


[jira] Commented: (JCR-2292) attempt to access a deleted document

Posted by "Matthias Reischenbacher (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Updated: (JCR-2292) attempt to access a deleted document

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-2292:
------------------------

    Component/s: query

> 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
>          Components: query
>    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.


[jira] Commented: (JCR-2292) attempt to access a deleted document

Posted by "Marcel Reutegger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763878#action_12763878 ] 

Marcel Reutegger commented on JCR-2292:
---------------------------------------

Can you please add the following parameters to the SearchIndex element in the workspace.xml of the affected workspace and monitor the log file for consistency check messages?

<param name="enableConsistencyCheck" value="true"/>
<param name="forceConsistencyCheck" value="true"/>

It'd be interesting to know what kind of nodes cause the issue. If possible try to resolve the path from the given UUID in the log file using Session.getNodeByUUID(<uuid>).getPath().

> 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.


[jira] Commented: (JCR-2292) attempt to access a deleted document

Posted by "Matthias Reischenbacher (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Updated: (JCR-2292) attempt to access a deleted document

Posted by "Matthias Reischenbacher (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Reischenbacher updated JCR-2292:
-----------------------------------------

    Comment: was deleted

(was: 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.