Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-7059

Verify that 1D point values are visited in order

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.0
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      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.

        Attachments

        1. LUCENE-7059.patch
          55 kB
          Michael McCandless

          Activity

            People

            • Assignee:
              mikemccand Michael McCandless
              Reporter:
              mikemccand Michael McCandless
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: