Protocol Exception Too many channels open in JBoss EAP 7.2
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.