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

After IW.addIndexesNoOptimize, IW.close may hang

    Details

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

      Description

      Spinoff from here:

      http://mail-archives.apache.org/mod_mbox/lucene-java-user/200804.mbox/%3c43128.192.168.1.71.1208561409.webmail@192.168.1.71%3e

      The addIndexesNoOptimize method first merges eligible segments
      according to the MergePolicy, and then copies over one by one any
      remaining "external" segments.

      That copy can possibly (rather rarely) result in new merges becoming
      eligible because its size can change if the index being added was
      created with autoCommit=false.

      However, we fail to then invoke the MergeScheduler to run these
      merges. As a result, in close, where we wait until all running and
      pending merges complete, we will never return.

      The fix is simple: invoke the merge scheduler inside
      copyExternalSegments() if any segments were copied. I also added
      defensive invocation of the merge scheduler during close, just in case
      other code paths could allow for a merge to be added to the pending
      queue but not scheduled.

      1. LUCENE-1270.patch
        5 kB
        Michael McCandless

        Activity

        Hide
        mikemccand Michael McCandless added a comment -

        Attached patch. I plan to commit, to 2.4 & 2.3.2, later today.

        Show
        mikemccand Michael McCandless added a comment - Attached patch. I plan to commit, to 2.4 & 2.3.2, later today.
        Hide
        mikemccand Michael McCandless added a comment -

        Thanks Stu!

        Show
        mikemccand Michael McCandless added a comment - Thanks Stu!

          People

          • Assignee:
            mikemccand Michael McCandless
            Reporter:
            mikemccand Michael McCandless
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development