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:05:00 UTC
[jira] [Updated] (LUCENE-10674) BitSetConjunctionDISI iterators fall out of sync when lead doc >= minlength of bitsets
[ https://issues.apache.org/jira/browse/LUCENE-10674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jack Mazanec updated LUCENE-10674:
----------------------------------
Description:
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] 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
was:
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
> 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.0, 9.1, 9.2, 9.3
> Reporter: Jack Mazanec
> Priority: Minor
>
> 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] 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