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

Factor maxMergeSize into findMergesForOptimize in LogMergePolicy

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

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.1, 4.0-ALPHA
    • core/index
    • None
    • New, Patch Available

    Description

      LogMergePolicy allows you to specify a maxMergeSize in MB, which is taken into consideration in regular merges, yet ignored by findMergesForOptimze. I think it'd be good if we take that into consideration even when optimizing. This will allow the caller to specify two constraints: maxNumSegments and maxMergeMB. Obviously both may not be satisfied, and therefore we will guarantee that if there is any segment above the threshold, the threshold constraint takes precedence and therefore you may end up w/ <maxNumSegments (if it's not 1) after optimize. Otherwise, maxNumSegments is taken into consideration.

      As part of this change, I plan to change some methods to protected (from private) and members as well. I realized that if one wishes to implement his own LMP extension, he needs to either put it under o.a.l.index or copy some code over to his impl.

      I'll attach a patch shortly.

      Attachments

        1. LUCENE-2701.patch
          25 kB
          Shai Erera
        2. LUCENE-2701.patch
          24 kB
          Shai Erera
        3. LUCENE-2701.patch
          16 kB
          Shai Erera
        4. LUCENE-2701-2.patch
          7 kB
          Shai Erera

        Activity

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

          People

            shaie Shai Erera
            shaie Shai Erera
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment