Excessive HashMap with Xwork causes high CPU load

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Server and Data Center Only. This article only applies to Atlassian products on the server and data center platforms.


Performance of Confluence is is slow.


Long running threads in heap dumps show something similar to this:

"TP-Processor112" daemon prio=10 tid=0x0000002d9a661400 nid=0x58b3 runnable [0x000000004a9cf000..0x000000004a9d1d30]
   java.lang.Thread.State: RUNNABLE
        at java.util.HashMap.get(HashMap.java:303)
        at com.opensymphony.xwork.util.OgnlUtil.compile(OgnlUtil.java:192)
        at com.opensymphony.xwork.util.OgnlUtil.setValue(OgnlUtil.java:188)
        at com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:113)
        at com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:97)


Due to CONF-17774, the xwork jar file bundled with Confluence itself can cause excessive HashMap.get operations.


  1. Stop confluence:
  2. Move the <<confluence install>confluence/WEB-INF/lib/xwork- to a temporary backup directory (just in case we need to restore.
  3. Copy xwork- to <<confluence install>confluence/WEB-INF/lib/
    (no need to rename file).
  4. Start Confuence




























Last modified on Mar 30, 2016

Was this helpful?

Provide feedback about this article
Powered by Confluence and Scroll Viewport.