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

sometimes if a BG merge hits an exception, optimize() will fail to forward the exception

    XMLWordPrintableJSON

    Details

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

      Description

      I was seeing an intermittant failure, only on a Windows instance running inside VMWare, of TestIndexWriter.testAddIndexOnDiskFull.

      It is happening because the while loop that checks for merge exceptions that had occurred during optimize fails to catch the case where all the BG optimize merges completed (or hit exceptions) before the while loop begins. IE, all BG threads finished before the FG thread advanced to the while loop. In that case the code fails to check if there were any exceptions.

      The fix is straightforward: change the while loop so that it always checks, at least once, whether there were exceptions.

        Attachments

        1. LUCENE-1376.patch
          0.7 kB
          Michael McCandless

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: