Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8182982

ThreadLocal.remove under G1GC takes 100% CPU

XMLWordPrintable

    • gc
    • x86_64
    • linux_ubuntu

      FULL PRODUCT VERSION :
      java version "1.8.0_111"
      Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
      Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Linux PROD-114-USW1-CL1-ES1 3.13.0-100-generic #147~precise1-Ubuntu SMP Wed Oct 19 00:06:40 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


      A DESCRIPTION OF THE PROBLEM :
      ThreadLocal.remove can take 100% CPU under G1GC.

             java.lang.ThreadLocal$ThreadLocalMap.expungeStaleEntry(ThreadLocal.java:617)
             java.lang.ThreadLocal$ThreadLocalMap.remove(ThreadLocal.java:499)
             java.lang.ThreadLocal$ThreadLocalMap.access$200(ThreadLocal.java:298)
             java.lang.ThreadLocal.remove(ThreadLocal.java:222)
             org.elasticsearch.index.query.QueryParseContext.removeTypes(QueryParseContext.java:89)
             org.elasticsearch.search.internal.SearchContext.removeCurrent(SearchContext.java:92)


      See also:
      https://discuss.elastic.co/t/indexing-performance-degrading-over-time/40229/44

      Does not reproduce under CMS


      REPRODUCIBILITY :
      This bug can be reproduced always.

            fmatte Fairoz Matte
            webbuggrp Webbug Group
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: