Hi, I have a recurring problem on an ActiveMQ setup. This is what happens. There are a lot of "ActiveMQ Transport tcp://..." threads being created and destroyed after a couple of seconds, but sometimes one of these Threads never stop and stay in a runnable state. This is what the Thread dump looks like
"ActiveMQ Transport: tcp:///10.10.110.131:61616" - Thread t@78 java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at org.apache.activemq.transport.tcp.TcpBufferedInputStream.readStream(TcpBufferedInputStream.java:70) at org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:92) at java.io.DataInputStream.readFully(DataInputStream.java:178) at java.io.DataInputStream.readFully(DataInputStream.java:152) at org.apache.activemq.openwire.v5.BaseDataStreamMarshaller.tightUnmarshalByteSequence(BaseDataStreamMarshaller.java:441) at org.apache.activemq.openwire.v5.MessageMarshaller.tightUnmarshal(MessageMarshaller.java:72) at org.apache.activemq.openwire.v5.ActiveMQMessageMarshaller.tightUnmarshal(ActiveMQMessageMarshaller.java:66) at org.apache.activemq.openwire.v5.ActiveMQTextMessageMarshaller.tightUnmarshal(ActiveMQTextMessageMarshaller.java:66) at org.apache.activemq.openwire.OpenWireFormat.tightUnmarshalNestedObject(OpenWireFormat.java:459) at org.apache.activemq.openwire.v5.BaseDataStreamMarshaller.tightUnmarsalNestedObject(BaseDataStreamMarshaller.java:126) at org.apache.activemq.openwire.v5.MessageDispatchMarshaller.tightUnmarshal(MessageDispatchMarshaller.java:71) at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:366) at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:279) at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:210) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:202) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185) at java.lang.Thread.run(Thread.java:619) Locked ownable synchronizers: - None If I look at the ActiveMQ admin console the queue message count on which the client is listening to increases to 1000 messages. (the default queue prefetch size). Some messages go through and are being consumed by another consumer on the same client, but the hanging consumer keeps getting some messages from time to time. I need to kill the client, a normal shutdown sequence is unable to stop the hanging activemq transport thread. Decreasing the queue prefetch to 1 seems to solve the problem, I haven't seen the problem since then. Has anyone seen a similar problem, I would like to know what went wrong so the same problem doesn't bite me later on? Regards, Leen