Protocol Exception Too many channels open in JBoss EAP 7.2

Solution Verified - Updated -

Issue

In our application tests following exception is observed in the logs: org.jboss.remoting3.ProtocolException: Too many channels open. As in:

WARN jta ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR: javax.transaction.xa.XAException: WFTXN0034: Failed to acquire a connection for this operation
  at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.getOperationsXA(RemotingRemoteTransactionPeer.java:139)
  at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.recover(RemotingRemoteTransactionPeer.java:202)
  at org.wildfly.transaction.client.SubordinateXAResource.recover(SubordinateXAResource.java:201)
  at org.wildfly.transaction.client.SubordinateXAResource.recover(SubordinateXAResource.java:197)
  at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoveryFirstPass(XARecoveryModule.java:609)
  at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:201)
  at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:146)
  at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:765)
  at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377)
Caused by: org.jboss.remoting3.ProtocolException: Too many channels open
  at org.jboss.remoting3.remote.RemoteConnectionHandler.handleOutboundChannelOpen(RemoteConnectionHandler.java:194)
  at org.jboss.remoting3.remote.RemoteConnectionHandler.open(RemoteConnectionHandler.java:335)
  at org.jboss.remoting3.ConnectionImpl.openChannel(ConnectionImpl.java:109)
  at org.jboss.remoting3.ClientServiceHandle.getClientService(ClientServiceHandle.java:80)
  at org.wildfly.transaction.client.provider.remoting.TransactionClientChannel.forConnection(TransactionClientChannel.java:507)
  at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.getOperations(RemotingRemoteTransactionPeer.java:106)
  at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.getOperationsXA(RemotingRemoteTransactionPeer.java:137)
  ... 8 more

Looking at the heapdump, there is one org.jboss.remoting3.remote.RemoteConnectionHandler with a channelState of 40, which represents a number of 40 outbound channels. However, as maxOutboundChannels also is 40, creating more channels results in the protocol exception.
Looking at the channelState of 40, the value of 40 channels in the channels list (or the pendingChannels list) would be expected. However, these lists are empty.

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7.2

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content