[JBoss Remoting Users] - Re: Messaging blocked by long time-out
by radimchatkalahari
I probably found the source of issue.
Problem was in org.jboss.remoting.transport.socket.BisocketClientInvoker.java
(in jbrem2.2.3SP1) in method createSocket
| protected Socket createSocket(String address, int port, int timeout) throws IOException {
| ...
| while (isConnected() && (!pingFailed.flag || pingFailedTimeRemaining > 0) && (timeout == 0 || timeRemaining > 0)) {
| ....
| }
| ...
| }
|
In my scenario the above while cycle was never-ending! :
timeout set through jboss-messaging was set to 0 (& isConnected() & !pingFailed.flag was true also)!
And because the thread that was cycling in while loop was also holding an importat jboss-messaging lock, all the other netwoking threads were waiting for that lock, and that's why complete network communication has been stopped forever.
When I set the timeout to 5000 ms.
in JBOSS_HOME/server/default/conf/mesbridlicna-port-bindings.xml
| <invoker transport="bisocket">
| ...
| <attribute name="timeout" isParam="true">5000</attribute>
| ...
|
And the problem disappeared!
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264411#4264411
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264411
16 years, 5 months
[JBoss Messaging Users] - close jms conection cause block
by zxj518
it is threaddump base on jboss 5.1 and JBM 1.4.3
"WorkerThread#207[127.0.0.1:4778]" - Thread t@20663
java.lang.Thread.State: BLOCKED on org.jboss.jms.server.connectionmanager.SimpleConnectionManager@11fef77 owned by: Timer-12
at org.jboss.jms.server.connectionmanager.SimpleConnectionManager.unregisterConnection(SimpleConnectionManager.java:147)
at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.close(ServerConnectionEndpoint.java:440)
at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$close$aop(ConnectionAdvised.java:63)
at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$close_N4742752445160157748.invokeTarget(ConnectionAdvised$close_N4742752445160157748.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.close(ConnectionAdvised.java)
at org.jboss.jms.wireformat.CloseRequest.serverInvoke(CloseRequest.java:66)
at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:744)
- locked org.jboss.remoting.transport.socket.ServerThread@1236b96
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:697)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:551)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)
Locked ownable synchronizers:
- None
"WorkerThread#206[10.133.249.58:4076]" - Thread t@20640
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
- locked java.io.BufferedInputStream@2fc94a
at java.io.FilterInputStream.read(FilterInputStream.java:66)
at org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:1038)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:673)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:551)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)
Locked ownable synchronizers:
- None
"WorkerThread#205[10.133.249.58:3067]" - Thread t@20639
java.lang.Thread.State: BLOCKED on org.jboss.jms.server.connectionmanager.SimpleConnectionManager@11fef77 owned by: Timer-12
at org.jboss.jms.server.connectionmanager.SimpleConnectionManager.registerConnection(SimpleConnectionManager.java:104)
at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.(ServerConnectionEndpoint.java:196)
at org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegateInternal(ServerConnectionFactoryEndpoint.java:273)
at org.jboss.jms.server.endpoint.ServerConnectionFactoryEndpoint.createConnectionDelegate(ServerConnectionFactoryEndpoint.java:171)
at org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.org$jboss$jms$server$endpoint$advised$ConnectionFactoryAdvised$createConnectionDelegate$aop(ConnectionFactoryAdvised.java:108)
at org.jboss.jms.server.endpoint.advised.ConnectionFactoryAdvised.createConnectionDelegate(ConnectionFactoryAdvised.java)
at org.jboss.jms.wireformat.ConnectionFactoryCreateConnectionDelegateRequest.serverInvoke(ConnectionFactoryCreateConnectionDelegateRequest.java:91)
at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:744)
- locked org.jboss.remoting.transport.socket.ServerThread@1417c05
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:697)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:551)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)
Locked ownable synchronizers:
- None
"WorkerThread#204[10.133.249.22:33885]" - Thread t@20638
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
- locked java.io.BufferedInputStream@15e5e0d
at java.io.FilterInputStream.read(FilterInputStream.java:66)
at org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:1038)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:673)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:551)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)
Locked ownable synchronizers:
- None
"Timer-12" - Thread t@19961
java.lang.Thread.State: WAITING on java.util.LinkedList@1b71452
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.jboss.messaging.util.OrderedExecutorFactory$ChildExecutor.shutdownAfterProcessingCurrentlyQueuedTasks(OrderedExecutorFactory.java:164)
at org.jboss.jms.server.endpoint.ServerSessionEndpoint.localClose(ServerSessionEndpoint.java:1229)
at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.close(ServerConnectionEndpoint.java:388)
at org.jboss.jms.server.connectionmanager.SimpleConnectionManager.cleanupForSessionID(SimpleConnectionManager.java:465)
at org.jboss.jms.server.connectionmanager.SimpleConnectionManager.handleClientFailure(SimpleConnectionManager.java:200)
- locked org.jboss.jms.server.connectionmanager.SimpleConnectionManager@11fef77
at org.jboss.jms.server.connectionmanager.SimpleConnectionManager.handleConnectionException(SimpleConnectionManager.java:237)
at org.jboss.remoting.ConnectionNotifier.connectionLost(ConnectionNotifier.java:59)
at org.jboss.remoting.Lease.notifyClientLost(Lease.java:211)
at org.jboss.remoting.Lease.access$500(Lease.java:39)
at org.jboss.remoting.Lease$LeaseTimerTask.run(Lease.java:250)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264401#4264401
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264401
16 years, 5 months