[ https://issues.apache.org/jira/browse/OAK-2569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Mueller updated OAK-2569: -------------------------------- Affects Version/s: 1.2.1 > LuceneIndex#loadDocs can throw IllegalArgumentException > ------------------------------------------------------- > > Key: OAK-2569 > URL: https://issues.apache.org/jira/browse/OAK-2569 > Project: Jackrabbit Oak > Issue Type: Bug > Components: lucene > Affects Versions: 1.1.6, 1.2.1 > Reporter: Alex Parvulescu > Fix For: 1.3.0, 1.2.2 > > > It looks like in some cases a IllegalArgumentException will be thrown if the > _nextBatchSize_ passed to the _searchAfter_ method call is smaller than the > current searcher limit (_lastDoc.doc_). > Stack trace for the failure: > {code} > java.lang.IllegalArgumentException: after.doc exceeds the number of documents > in the reader: after.doc=387045 limit=386661 > at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:442) > at org.apache.lucene.search.IndexSearcher.searchAfter(IndexSearcher.java:243) > at > org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndex$1.loadDocs(LuceneIndex.java:352) > at > org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndex$1.computeNext(LuceneIndex.java:292) > at > org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndex$1.computeNext(LuceneIndex.java:283) > 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.LuceneIndex$LucenePathCursor$1.hasNext(LuceneIndex.java:1055) > 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.spi.query.Cursors$PathCursor.hasNext(Cursors.java:198) > at > org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndex$LucenePathCursor.hasNext(LuceneIndex.java:1076) > at > org.apache.jackrabbit.oak.plugins.index.aggregate.AggregationCursor.fetchNext(AggregationCursor.java:88) > at > org.apache.jackrabbit.oak.plugins.index.aggregate.AggregationCursor.hasNext(AggregationCursor.java:75) > at > org.apache.jackrabbit.oak.spi.query.Cursors$IntersectionCursor.fetchNext(Cursors.java:389) > at > org.apache.jackrabbit.oak.spi.query.Cursors$IntersectionCursor.hasNext(Cursors.java:381) > at > org.apache.jackrabbit.oak.spi.query.Cursors$IntersectionCursor.fetchNext(Cursors.java:389) > at > org.apache.jackrabbit.oak.spi.query.Cursors$IntersectionCursor.hasNext(Cursors.java:381) > at > org.apache.jackrabbit.oak.spi.query.Cursors$IntersectionCursor.fetchNext(Cursors.java:389) > at > org.apache.jackrabbit.oak.spi.query.Cursors$IntersectionCursor.hasNext(Cursors.java:381) > at > org.apache.jackrabbit.oak.query.ast.SelectorImpl.next(SelectorImpl.java:401) > at > org.apache.jackrabbit.oak.query.QueryImpl$RowIterator.fetchNext(QueryImpl.java:664) > at > org.apache.jackrabbit.oak.query.QueryImpl$RowIterator.hasNext(QueryImpl.java:689) > at > org.apache.jackrabbit.oak.query.FilterIterators$SortIterator.init(FilterIterators.java:203) > at > org.apache.jackrabbit.oak.query.FilterIterators$SortIterator.hasNext(FilterIterators.java:237) > at > org.apache.jackrabbit.oak.jcr.query.QueryResultImpl$1.fetch(QueryResultImpl.java:108) > at > org.apache.jackrabbit.oak.jcr.query.QueryResultImpl$1.<init>(QueryResultImpl.java:104) > at > org.apache.jackrabbit.oak.jcr.query.QueryResultImpl.getRows(QueryResultImpl.java:91) > at org.apache.jackrabbit.commons.query.GQL.executeJcrQuery(GQL.java:440) > at org.apache.jackrabbit.commons.query.GQL.execute(GQL.java:434) > at org.apache.jackrabbit.commons.query.GQL.execute(GQL.java:327) > at org.apache.jackrabbit.commons.query.GQL.execute(GQL.java:310) > at org.apache.jackrabbit.commons.query.GQL.execute(GQL.java:296) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)