Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
-
New
Description
The new PointInSetQuery (LUCENE-7048) hit a tricky test failure
(https://builds.apache.org/job/Lucene-Solr-Tests-trunk-Java8/871/)
where point values were sometimes not visited in order like it
expected.
I pushed a hack to fix the query, but I think we should do a better
fix, here, making the "values in order in the 1D case" part of the
API, fixing CheckIndex, AssertingPointFormat to verify this, and
removing the buggy MultiPointValues.
I also found a possibly serious bug in BKDWriter, where it was doing
writeInt/writeLong to its offline files, but then reading with
readVInt/readVLong! It's hard to provoke, though: it only strikes
in the tie-break case (same values across docs), and even then only if
the IntroSorter does a non-stable sort. I made a failing test
case and fixed that bug, and also removed the unnecessary ord tie
breaking from BKDWriter's comparator.
Finally, I saw BKDWriter was failing to pass on its
maxMBSortInHeap down to OfflineSorter, and fixed that.