Jack Mazanec created LUCENE-10674: ------------------------------------- Summary: BitSetConjunctionDISI iterators fall out of sync when lead doc >= minlength of bitsets Key: LUCENE-10674 URL: https://issues.apache.org/jira/browse/LUCENE-10674 Project: Lucene - Core Issue Type: Bug Components: core/search Affects Versions: 9.3, 9.2, 9.1, 9.0 Reporter: Jack Mazanec
In [BitSetConjunctionDISI.doNext()|https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L283-L285][,|https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L283-L285],] if the lead doc is greater than or equal to the length of any of the BitSets, NO_MORE_DOCS is returned. On subsequent calls to [BitSetConjunctionDISI.docId()](https://github.com/apache/lucene/blob/releases/lucene/9.3.0/lucene/core/src/java/org/apache/lucene/search/ConjunctionDISI.java#L263), the lead's docID which is not exhausted will be returned. I think this could be fixed by calling lead.advance(NO_MORE_DOCS) before returning NO_MORE_DOCS in doNext. Related issue: https://issues.apache.org/jira/browse/LUCENE-9541 -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org