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

IW.optimize() can do too many merges at the very end

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.3.1, 2.4
    • Component/s: core/index
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      This was fixed on trunk in LUCENE-1044 but I'd like to separately
      backport it to 2.3.

      With ConcurrentMergeScheduler there is a bug, only when CFS is on,
      whereby after the final merge of an optimize has finished and while
      it's building its CFS, the merge policy may incorrectly ask for
      another merge to collapse that segment into a compound file. The net
      effect is optimize can spend many extra iterations unecessarily
      merging a single segment to collapse it to compound file.

      I believe the case is rare (hard to hit), and maybe only if you have
      multiple threads calling optimize at once (the TestThreadedOptimize
      test can hit it), but it's a low-risk fix so I plan to commit to 2.3
      shortly.

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              mikemccand Michael McCandless
              Reporter:
              mikemccand Michael McCandless

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment