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

Verify that 1D point values are visited in order

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • 6.0
    • 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.

      Attachments

        1. LUCENE-7059.patch
          55 kB
          Michael McCandless

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: