[
https://issues.apache.org/jira/browse/JCR-1573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12596710#action_12596710 ]
David Moss commented on JCR-1573:
---------------------------------
Hi,
I'm experiencing the same issue with Jackrabbit 1.4.
I call:
QueryManager qm = session.getWorkspace().getQueryManager();
Query query = qm.createQuery(searchTerm, Query.XPATH);
QueryResult result = query.execute();
And get the exception:
java.lang.IllegalArgumentException: attempt to access a deleted document
at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:331)
at org.apache.lucene.index.FilterIndexReader.document(FilterIndexReader.java:130)
at org.apache.lucene.index.IndexReader.document(IndexReader.java:437)
at org.apache.jackrabbit.core.query.lucene.CachingIndexReader.getParent(CachingIndexReader.java:107)
at org.apache.jackrabbit.core.query.lucene.SharedIndexReader.getParent(SharedIndexReader.java:78)
at org.apache.jackrabbit.core.query.lucene.ReadOnlyIndexReader.getParent(ReadOnlyIndexReader.java:141)
at org.apache.jackrabbit.core.query.lucene.CachingMultiIndexReader.getParentDocId(CachingMultiIndexReader.java:112)
at org.apache.jackrabbit.core.query.lucene.SearchIndex$CombinedIndexReader.getParent(SearchIndex.java:1202)
at org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$DescendantSelfAxisScorer.isValid(DescendantSelfAxisQuery.java:347)
at org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$DescendantSelfAxisScorer.next(DescendantSelfAxisQuery.java:261)
at org.apache.lucene.search.Scorer.score(Scorer.java:48)
at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.calculateChildren(ChildAxisQuery.java:317)
at org.apache.jackrabbit.core.query.lucene.ChildAxisQuery$ChildAxisScorer.next(ChildAxisQuery.java:268)
at org.apache.lucene.search.Scorer.score(Scorer.java:48)
at org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$DescendantSelfAxisScorer.collectContextHits(DescendantSelfAxisQuery.java:305)
at org.apache.jackrabbit.core.query.lucene.DescendantSelfAxisQuery$DescendantSelfAxisScorer.next(DescendantSelfAxisQuery.java:254)
at org.apache.lucene.search.Scorer.score(Scorer.java:48)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:146)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:113)
at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:74)
at org.apache.lucene.search.Hits.<init>(Hits.java:53)
at org.apache.lucene.search.Searcher.search(Searcher.java:46)
at org.apache.lucene.search.Searcher.search(Searcher.java:38)
at org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:660)
at org.apache.jackrabbit.core.query.lucene.QueryResultImpl.executeQuery(QueryResultImpl.java:242)
at org.apache.jackrabbit.core.query.lucene.QueryResultImpl.getResults(QueryResultImpl.java:290)
at org.apache.jackrabbit.core.query.lucene.QueryResultImpl.<init>(QueryResultImpl.java:192)
at org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:138)
at org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:176)
at org.apache.jackrabbit.rmi.server.ServerQuery.execute(ServerQuery.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at org.apache.jackrabbit.rmi.server.ServerQuery_Stub.execute(Unknown Source)
at org.apache.jackrabbit.rmi.client.ClientQuery.execute(ClientQuery.java:63)
This is a strange one because my system deletes documents that have 'expired' on a regular basis and until recently this has not been a problem. I have recently updated to 1.4 from 1.3.? but actually it's been working fine with 1.4 for some time now as well - this is the first time I've experienced this problem.
As far as I'm aware I'm using a completely standard workspace.xml (i.e. no changes to persistence manager etc).
> Lucene Query Exception: 'attempt to access a deleted document'
> --------------------------------------------------------------
>
> Key: JCR-1573
> URL:
https://issues.apache.org/jira/browse/JCR-1573> Project: Jackrabbit
> Issue Type: Bug
> Components: query
> Affects Versions: core 1.4.2
> Environment: Windows XP, PostgreSQL database, Spring, Tomcat
> Reporter: David McKitterick
> Attachments: jackrabbit-repo.xml
>
>
> Hi,
> I am getting an exception when trying to execute a query through the (Spring) JcrTemplate class....using the following code:
> QueryManager qMgr = session.getWorkspace().getQueryManager();
> QueryResult result = qMgr.createQuery(xpathQuery, Query.XPATH ).execute();
> The exception is thrown at the second line and is as follows:
> [DEBUG] << "[0x9]at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:113)[\n]"
> [DEBUG] << "[0x9]at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:74)[\n]"
> [DEBUG] << "[0x9]at org.apache.lucene.search.Hits.<init>(Hits.java:53)[\n]"
> [DEBUG] << "[0x9]at org.apache.lucene.search.Searcher.search(Searcher.java:46)[\n]"
> [DEBUG] << "[0x9]at org.apache.lucene.search.Searcher.search(Searcher.java:38)[\n]"
> [DEBUG] << "[0x9]at org.apache.jackrabbit.core.query.lucene.SearchIndex.executeQuery(SearchIndex.java:660)[\n]"
> [DEBUG] << "[0x9]at org.apache.jackrabbit.core.query.lucene.QueryResultImpl.executeQuery(QueryResultImpl.java:242)[\n]"
> [DEBUG] << "[0x9]at org.apache.jackrabbit.core.query.lucene.QueryResultImpl.getResults(QueryResultImpl.java:290)[\n]"
> [DEBUG] << "[0x9]at org.apache.jackrabbit.core.query.lucene.QueryResultImpl.<init>(QueryResultImpl.java:192)[\n]"
> [DEBUG] << "[0x9]at org.apache.jackrabbit.core.query.lucene.QueryImpl.execute(QueryImpl.java:138)[\n]"
> [DEBUG] << "[0x9]at org.apache.jackrabbit.core.query.QueryImpl.execute(QueryImpl.java:176)[\n]"
> [DEBUG] << "[0x9]at com.intel.cds.cr.jcr.JcrManager$5.doInJcr(JcrManager.java:363)[\n]"
> [DEBUG] << "[0x9]at org.springmodules.jcr.JcrTemplate.execute(JcrTemplate.java:76)[\n]"
> [DEBUG] << "[0x9]at org.springmodules.jcr.JcrTemplate.execute(JcrTemplate.java:108)[\n]"
> [DEBUG] << "[0x9]... 19 more[\n]"
> [DEBUG] << "</Exception></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>"
> org.apache.axis2.AxisFault: attempt to access a deleted document
> at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486)
> at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343)
> at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
> at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
> at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
> My Jackrabbit/Lucene configuration is as follows:
> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
> <param name="path" value="${rep.home}/repository/index"/>
>
> <param name="useCompoundFile" value="false"/>
> <param name="mergeFactor" value="5"/>
> <param name="cacheSize" value="10000"/>
> <param name="respectDocumentOrder" value="false"/>
> </SearchIndex>
> Is this a configuration issue or a bug?
> Thanks,
> David.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.