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

DWStallControl can deadlock IW if no flushes are running / pending

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 4.0-ALPHA
    • Fix Version/s: 4.0-ALPHA
    • Component/s: core/index
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      DWStallControl currently only checks if the net bytes used by all the DWPT and deletes exceeds the stall limit (2*MAX_RAM_BUFFER). This is generally a very good default but in certain situations we can exceed this limit even without an ongoing flush. Stalling is used to prevent IW overloading due to slow flushes etc. which should not happen too often in practice. With a smallish RAM Buffer and a bigger document we can easily get into the stage where we stall the DW without a chance to free up the memory.

      I think we should make sure that a pending or running flush can free up enough memory to unstall.

      1. LUCENE-4071.patch
        5 kB
        Simon Willnauer
      2. LUCENE-4071.patch
        7 kB
        Simon Willnauer

        Activity

        Hide
        simonw Simon Willnauer added a comment -

        committed to trunk

        Show
        simonw Simon Willnauer added a comment - committed to trunk
        Hide
        simonw Simon Willnauer added a comment -

        updated patch... I will commit soon

        Show
        simonw Simon Willnauer added a comment - updated patch... I will commit soon
        Hide
        thetaphi Uwe Schindler added a comment -

        Thanks to SDDS-Jenkins

        Show
        thetaphi Uwe Schindler added a comment - Thanks to SDDS-Jenkins
        Hide
        mikemccand Michael McCandless added a comment -

        Nice catch!

        Patch looks good.

        Show
        mikemccand Michael McCandless added a comment - Nice catch! Patch looks good.
        Hide
        simonw Simon Willnauer added a comment -

        here is a patch

        Show
        simonw Simon Willnauer added a comment - here is a patch

          People

          • Assignee:
            simonw Simon Willnauer
            Reporter:
            simonw Simon Willnauer
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development