High GC object churn with many threads in org.apache.cxf.endpoint.ClientImpl
Issue
- JBoss is performing poorly and GC occurs very frequently. It frees plenty of space, but the old generation fills rapidly again to cause Full GCs again. Thread dumps during this time show many threads in org.apache.cxf.endpoint.ClientImpl, appending strings and copying arrays:
"JSFqueue-threads - 239" prio=10 tid=0x00007f4608524000 nid=0x5cca runnable [0x00007f45b3fb6000]
java.lang.Thread.State: RUNNABLE
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at java.util.Arrays.toString(Arrays.java:4071)
at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:860)
at java.lang.String.valueOf(String.java:2826)
at java.lang.StringBuilder.append(StringBuilder.java:115)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:731)
...
"JSFqueue-threads - 234" prio=10 tid=0x00007f460851d000 nid=0x5c07 runnable [0x00007f45b41b7000]
java.lang.Thread.State: RUNNABLE
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:45)
at java.lang.StringBuilder.<init>(StringBuilder.java:68)
at java.lang.Object.toString(Object.java:219)
at java.lang.String.valueOf(String.java:2826)
at java.util.Arrays.toString(Arrays.java:4071)
at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:860)
at java.lang.String.valueOf(String.java:2826)
at java.lang.StringBuilder.append(StringBuilder.java:115)
at org.apache.cxf.endpoint.ClientImpl.setupInterceptorChain(ClientImpl.java:946)
Environment
- JBoss Enterprise Application Platform (EAP) 6.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.