You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Jack Mazanec (Jira)" <ji...@apache.org> on 2022/08/04 20:04:00 UTC

[jira] [Created] (LUCENE-10674) BitSetConjunctionDISI iterators fall out of sync when lead doc >= minlength of bitsets

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-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org