Hi,

I'm having some issues with ActiveMQ Connection Dispatcher threads.
Whenever I get an InactivityIOException the thread goes into the Waiting
state and a new thread is started.

== activemq.log ==
2011-04-18 10:15:31,244 | ERROR | Could not accept connection :
org.apache.activemq.transport.InactivityIOException: Channel was
inactive for too long: /127.0.0.1:35401 |
org.apache.activemq.broker.TransportConnector | ActiveMQ Task

== jstack ==
"ActiveMQ Connection Dispatcher: /127.0.0.1:35401" daemon prio=10
tid=0x00007f10e440f800 nid=0x63e9 in Object.wait() [0x00007f10ce578000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:105)
        - locked <0x00007f113bbd4618> (a java.lang.Object)
        at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)

After running ActiveMQ for a couple of weeks there are more than 3k
waiting threads doing nothing but wasting memory.  If i disable the
inactivity monitor the problem goes away
(wireFormat.maxInactivityDuration=0). Is this a known bug ?

My configuration:
- ActiveMQ 5.3.0
- Pure Master/Slave
- Openwire enabled
- Flow Control enabled
- KahaDB

Let me know if you need more informations. I can provide config file and
logs if needed.

-- 
Simon-Pierre LeBel [iWeb]
IT Architecture Specialist / Technical Lead
Spécialiste de l'Architecture TI / Leader Technique
http://www.iWeb.com/

Reply via email to