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

Weak references cause extreme GC churn

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.6.1
    • Fix Version/s: 4.4, 6.0
    • Component/s: core/store
    • Labels:
      None
    • Environment:

      Linux debian squeeze 64 bit, Oracle JDK 6, 32 GB RAM, 16 cores
      -Xmx16G

    • Lucene Fields:
      New

      Description

      We are running a set of independent search machines, running our custom software using lucene as a search library. We recently upgraded from lucene 3.0.3 to 3.6.1 and noticed a severe degradation of performance.

      After doing some heap dump digging, it turns out the process is stalling because it's spending so much time in GC. We noticed about 212 million WeakReference, originating from WeakIdentityMap, originating from MMapIndexInput.

      Our problem completely went away after removing the clones weakhashmap from MMapIndexInput, and as a side-effect, disabling support for explictly unmapping the mmapped data.

        Attachments

        1. LUCENE-4740.patch
          3 kB
          Uwe Schindler
        2. LUCENE-4740.patch
          6 kB
          Uwe Schindler

          Issue Links

            Activity

              People

              • Assignee:
                thetaphi Uwe Schindler
                Reporter:
                krka Kristofer Karlsson
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: