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.
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.