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

TieredMergePolicy - cascade maxMergeAtOnce setting to maxMergeAtOnceExplicit

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.4.1
    • 8.10
    • None
    • None
    • New

    Description

      SOLR-8621 covers improvements in configuring a merge policy in Solr.

      Discussions on that issue brought up the fact that if large values are configured for maxMergeAtOnce and segmentsPerTier, but maxMergeAtOnceExplicit is not changed, then doing a forceMerge is likely to not work as expected.

      When I first configured maxMergeAtOnce and segmentsPerTier to 35 in Solr, I saw an optimize (forceMerge) fully rewrite most of the index twice in order to achieve a single segment, because there were approximately 80 segments in the index before the optimize, and maxMergeAtOnceExplicit defaults to 30. On advice given via the solr-user mailing list, I configured maxMergeAtOnceExplicit to 105 and have not had that problem since.

      I propose that setting maxMergeAtOnce should also set maxMergeAtOnceExplicit to three times the new value – unless the setMaxMergeAtOnceExplicit method has been invoked, indicating that the user wishes to set that value themselves.

      Attachments

        1. LUCENE-7020.patch
          3 kB
          Shawn Heisey

        Issue Links

          Activity

            People

              elyograg Shawn Heisey
              elyograg Shawn Heisey
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m