[ 
https://issues.apache.org/jira/browse/LUCENE-9501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17193831#comment-17193831
 ] 

ASF subversion and git services commented on LUCENE-9501:
---------------------------------------------------------

Commit a1d460b27c525a526ff0928cb2454571c1fbf91f in lucene-solr's branch 
refs/heads/branch_8x from Julie Tibshirani
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=a1d460b ]

LUCENE-9501: Fix invariant violation in 
IndexSortSortedNumericDocValuesRangeQuery. (#1833)

Previously the DocIdSetIterator returned an old value for docID advance
returned NO_MORE_DOCS. This violates the DocIdSetIterator contract and made it
possiblefor the iterator's advance method to be called even after it was
already exhausted.

> IndexSortSortedNumericDocValuesRangeQuery violates iterator invariant.
> ----------------------------------------------------------------------
>
>                 Key: LUCENE-9501
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9501
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Julie Tibshirani
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> In LUCENE-7714 we added a new query to sandbox called 
> IndexSortSortedNumericDocValuesRangeQuery that optimizes range calculations 
> when the field is sorted. The query has a bad bug: its DocIdSetIterator can 
> return an old value for docID() even after advance has returned NO_MORE_DOCS. 
> This violates the DocIdSetIterator contract and means that it's possible for 
> DocIdSetIterator#advance to be called when it's already been exhausted (which 
> can result in invalid reads).
> We would have expected this issue to be caught in tests, especially because 
> classes like AssertingIndexSearcher check for these invariants. As part of 
> this fix I'll look into improvements to the Asserting* wrapper framework.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to