[
https://issues.apache.org/jira/browse/OAK-6572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16137959#comment-16137959
]
Chetan Mehrotra commented on OAK-6572:
--------------------------------------
Added an ignored testcase 1805851.
The issue comes for the case where a search result has more than batch size
(50) entries and while a query traverses the result the index gets refreshed
via NRT. This would cause the IndexSearcher to be changed but as currently the
mechanism which detects this change is bound to IndexNode it does not pick up
the change (IndexNode remains same as async indexer has not run)
> IndexReaderClosed exception seen after some run
> -----------------------------------------------
>
> Key: OAK-6572
> URL: https://issues.apache.org/jira/browse/OAK-6572
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: lucene
> Affects Versions: 1.7.6, 1.6.4
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Priority: Blocker
>
> After recent fix done by OAK-6500 following exception is being seen after
> some run
> {noformat}
> 21.08.2017 12:32:51.955 *WARN* [10.170.24.142 [1503318769501] GET
> /mnt/overlay/granite/ui/content/shell/omnisearch/searchresults.html HTTP/1.1]
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex query via
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex@664fd784
> failed.
> org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed
> at org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:262)
> at
> org.apache.lucene.index.CompositeReader.getContext(CompositeReader.java:102)
> at
> org.apache.lucene.index.CompositeReader.getContext(CompositeReader.java:56)
> at
> org.apache.lucene.search.TermCollectingRewrite.collectTerms(TermCollectingRewrite.java:49)
> at
> org.apache.lucene.search.ConstantScoreAutoRewrite.rewrite(ConstantScoreAutoRewrite.java:95)
> at
> org.apache.lucene.search.MultiTermQuery$ConstantScoreAutoRewrite.rewrite(MultiTermQuery.java:220)
> at
> org.apache.lucene.search.MultiTermQuery.rewrite(MultiTermQuery.java:288)
> at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:418)
> at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:418)
> at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:418)
> at
> org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:636)
> at
> org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:683)
> at
> org.apache.lucene.search.IndexSearcher.searchAfter(IndexSearcher.java:243)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$1.loadDocs(LucenePropertyIndex.java:389)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$1.computeNext(LucenePropertyIndex.java:315)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$1.computeNext(LucenePropertyIndex.java:304)
> at
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> at
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LucenePathCursor$1.hasNext(LucenePropertyIndex.java:1569)
> at com.google.common.collect.Iterators$7.computeNext(Iterators.java:645)
> at
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
> at
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
> at
> org.apache.jackrabbit.oak.plugins.index.Cursors$PathCursor.hasNext(Cursors.java:208)
> at
> org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex$LucenePathCursor.hasNext(LucenePropertyIndex.java:1593)
> {noformat}
> This looks like a regression due to changes done in OAK-6500
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)