JBoss - Java heap retention in org.xnio.nio.WorkerThread's delayWorkQueue

Solution Verified - Updated

Environment

  • JBoss Enterprise Application Platform (EAP) 6.0.0

Issue

  • JBoss is consuming more and more memory over time, even with no work and no applications deployed. The retention appears to be building up from many org.jboss.remote3.remote.RemoteConnections building up in a org.xnio.nio.WorkerThread's delayWorkQueue TreeSet.

Resolution

  • Upgrade to EAP 6.0.1.
  • If remaining on EAP 6.0.0, trying decreasing the heartbeat interval from the default (which is Integer.MAX) as a workaround:
 <subsystem xmlns="urn:jboss:domain:remoting:1.1">			
   <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm">
     <properties>
       <property name="org.jboss.remoting3.RemotingOptions.HEARTBEAT_INTERVAL" value="1000"/>
     </properties>
   </connector>
 </subsystem>

Root Cause

  • Heart beat information is not properly cleaned up when remoting channels are closed in some cases.

Diagnostic Steps

Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.