We are experiencing the exact same problem on Linux. This is very easy to reproduce. Have
two clients running against a server and pull the network cable from one of the clients
simulating a kernel death. A few seconds later, the server puts out:
anonymous wrote : 13:07:15,064 WARN [SimpleConnectionManager] A problem has been detected
with the connection to remote client 5c4o12v-svccoz-fs969gkr-1-fs96isi3-1z,
jmsClientID=b1-uvp969sf-1-rkg969sf-zoccvs-v21o4c5. It is possible the client has exited
without closing its connection(s) or the network has failed. All associated connection
resources will be cleaned up.
If you dump the stack trace you will see:
anonymous wrote :
|
| Timer-87" Id=954 RUNNABLE (in native)
| at java.net.SocketOutputStream.socketWrite0(Native Method)
| at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
| at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
| at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
| at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
| - locked java.io.BufferedOutputStream@4773d99f
| at java.io.DataOutputStream.flush(DataOutputStream.java:106)
| at org.jboss.jms.wireformat.ClientDelivery.write(ClientDelivery.java:93)
| at org.jboss.jms.wireformat.JMSWireFormat.write(JMSWireFormat.java:237)
| at
org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:971)
| at
org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:606)
| at
org.jboss.remoting.transport.bisocket.BisocketClientInvoker.transport(BisocketClientInvoker.java:422)
| at
org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:133)
| at org.jboss.remoting.Client.invoke(Client.java:1645)
| at org.jboss.remoting.Client.invoke(Client.java:559)
| at org.jboss.remoting.Client.invokeOneway(Client.java:609)
| at
org.jboss.remoting.callback.ServerInvokerCallbackHandler.handleCallback(ServerInvokerCallbackHandler.java:826)
| at
org.jboss.remoting.callback.ServerInvokerCallbackHandler.handleCallbackOneway(ServerInvokerCallbackHandler.java:697)
| at
org.jboss.jms.server.endpoint.ServerSessionEndpoint.performDelivery(ServerSessionEndpoint.java:1452)
| at
org.jboss.jms.server.endpoint.ServerSessionEndpoint.handleDelivery(ServerSessionEndpoint.java:1364)
| - locked org.jboss.jms.server.endpoint.ServerSessionEndpoint@6d47a5f
| at
org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.ja
After the timeout, the server dumps:
anonymous wrote :
| 13:22:51,975 ERROR [SocketClientInvoker] Got marshalling exception, exiting
| java.io.IOException: No route to host
| at java.net.SocketOutputStream.socketWrite0(Native Method)
| at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
| at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
| at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
| at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
| at java.io.DataOutputStream.flush(DataOutputStream.java:106)
| at org.jboss.jms.wireformat.ClientDelivery.write(ClientDelivery.java:93)
| at org.jboss.jms.wireformat.JMSWireFormat.write(JMSWireFormat.java:237)
| at
org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:971)
| at
org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:606)
| at
org.jboss.remoting.transport.bisocket.BisocketClientInvoker.transport(BisocketClientInvoker.java:422)
| at
org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:133)
| at org.jboss.remoting.Client.invoke(Client.java:1645)
| at org.jboss.remoting.Client.invoke(Client.java:559)
|
and other clients start getting ticks.
This will not come back until the write socket times out. I believe that is a tcp keep
alive issue and on Linux it defaults to minutes.
Is there any configuration that we can use? We do have:
<attribute name="callbackTimeout">10000</attribute>set in our
remoting-bisocket-service.xml file.
We are dead in the water in our migration effort from ActiveMQ to JBOSS messaging because
of this. Thank you for any help.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4217947#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...