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

Refactor FieldCacheRangeFilter.FieldCacheDocIdSet to be separate class and fix the dangerous matchDoc() throws AIOOBE requirement

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.6, 4.0-ALPHA
    • None
    • None
    • New

    Description

      Followup from LUCENE-3593:
      The FieldCacheRangeFilter.FieldCacheDocIdSet class has a strange requirement on the abstract matchDoc(): It should throw AIOOBE if the docId is > maxDoc. This check should be done by caller as especially on trunk, e.g. FieldCacheTermsFilter does not seem to always throw this exception correctly (getOrd() is a method and no array in TermsIndex cache).

      Also in 3.x the Filter does not correctly respect deletions when a FieldCache based on a reopened reader is used.

      This issue will refactor this and fix the bugs and moves the docId check up to the iterator.

      Attachments

        1. LUCENE-3595-3x.patch
          22 kB
          Uwe Schindler
        2. LUCENE-3595-3x.patch
          22 kB
          Uwe Schindler
        3. LUCENE-3595-trunk.patch
          16 kB
          Uwe Schindler
        4. LUCENE-3595-trunk.patch
          16 kB
          Uwe Schindler

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            uschindler Uwe Schindler
            uschindler Uwe Schindler
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment