ChannelBusyException: JBREM000207: Failed to send a message (channel is busy) in JBoss EAP 6.0.x

Solution Unverified - Updated -

Issue

  • We have applied the the patch to improve remote EJB performance "one-byte-at-a-time" issue (AS7-6013), and it improved the performance.
    Now we are seeing ChannelBusyExceptions after running a test for a few minutes with 1000 threads calling the EJB every 4 seconds. It doesn't seem to depend on how loaded the remoting connection is; every client thread will eventually throw this exception:
java.lang.reflect.UndeclaredThrowableException
      at $Proxy0.execute(Unknown Source)
      at se.redhat.supportcase.netent.client.RemoteClient.execute(RemoteClient.java:60)
      at main.Main$1.run(Main.java:44)
      at java.lang.Thread.run(Thread.java:722)
Caused by: org.jboss.remoting3.ChannelBusyException: JBREM000207: Failed to send a message (channel is busy)
      at org.jboss.remoting3.remote.RemoteConnectionChannel.writeMessage(RemoteConnectionChannel.java:313)
      at org.jboss.ejb.client.remoting.ChannelAssociation.acquireChannelMessageOutputStream(ChannelAssociation.java:249)
      at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.processInvocation(RemotingConnectionEJBReceiver.java:196)
      at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)
      at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)
      at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
      at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:125)
      at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
      at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)
      at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)
      at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)
      ... 4 more

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 6.0.x
  • One off patch applied: bz-903990 - EAP 6.0.1 - Remote EJB invocations are read/written out one byte at a time

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.