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: [email protected]
For additional commands, e-mail: [email protected]