-
Bug
-
Resolution: Done
-
Blocker
-
7.1.0.DR13
-
None
-
Regression, Blocks Testing
-
-
-
-
-
-
EJB client in EAP before DR12 ends up with:
Exception in thread "main" javax.ejb.EJBException: java.io.IOException: Channel Channel ID e8794535 (outbound) of Remoting connection 5a71aca0 to localhost/127.0.0.1:8080 has been closed
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:238)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
at com.sun.proxy.$Proxy2.hello(Unknown Source)
at client.Client.main(Client.java:20)
Caused by: java.io.IOException: Channel Channel ID e8794535 (outbound) of Remoting connection 5a71aca0 to localhost/127.0.0.1:8080 has been closed
at org.jboss.ejb.client.remoting.ChannelAssociation$1.handleClose(ChannelAssociation.java:123)
at org.jboss.ejb.client.remoting.ChannelAssociation$1.handleClose(ChannelAssociation.java:115)
at org.jboss.remoting3.spi.SpiUtils.safeHandleClose(SpiUtils.java:54)
at org.jboss.remoting3.spi.AbstractHandleableCloseable$CloseHandlerTask.run(AbstractHandleableCloseable.java:514)
at org.jboss.remoting3.spi.AbstractHandleableCloseable.runCloseTask(AbstractHandleableCloseable.java:419)
at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeComplete(AbstractHandleableCloseable.java:290)
at org.jboss.remoting3.remote.RemoteConnectionChannel.closeReadsAndWrites(RemoteConnectionChannel.java:274)
at org.jboss.remoting3.remote.RemoteConnectionChannel.closeAction(RemoteConnectionChannel.java:534)
at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeAsync(AbstractHandleableCloseable.java:372)
at org.jboss.remoting3.remote.RemoteConnectionHandler.closeAllChannels(RemoteConnectionHandler.java:437)
at org.jboss.remoting3.remote.RemoteConnectionHandler.receiveCloseRequest(RemoteConnectionHandler.java:217)
at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:87)
at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:46)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:199)
at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:113)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.ChannelListeners$DelegatingChannelListener.handleEvent(ChannelListeners.java:1092)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:559)
when server crash. Whereas after DR12 client gets stuck in awaitResponse:
"main" #1 prio=5 os_prio=0 tid=0x00007f3390009800 nid=0x65d3 in Object.wait() [0x00007f3396922000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000007830d4068> (a java.lang.Object) at java.lang.Object.wait(Object.java:502) at org.jboss.ejb.client.EJBClientInvocationContext.awaitResponse(EJBClientInvocationContext.java:566) - locked <0x00000007830d4068> (a java.lang.Object) at org.jboss.ejb.client.EJBInvocationHandler.lambda$invoke$0(EJBInvocationHandler.java:164) at org.jboss.ejb.client.EJBInvocationHandler$$Lambda$25/717356484.execute(Unknown Source) at org.jboss.ejb.client.EJBClientContext.discoverAffinityNone(EJBClientContext.java:429) at org.jboss.ejb.client.EJBClientContext.performLocatedAction(EJBClientContext.java:388) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:150) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:100) at com.sun.proxy.$Proxy0.add(Unknown Source) at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:57) at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.main(RemoteEJBClient.java:38)
From my point of view it's a change of default behavior and regression against 7.0.
Even setting "invocation.timeout" in jboss-ejb-client.properties doesn't help.
It is blocking transactions crash recovery testing.