You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Carl Allain (JIRA)" <ji...@apache.org> on 2011/08/10 21:00:27 UTC

[jira] [Commented] (AMQ-3286) ActiveMQ Connection Dispatcher thread

    [ https://issues.apache.org/jira/browse/AMQ-3286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13082562#comment-13082562 ] 

Carl Allain commented on AMQ-3286:
----------------------------------

Active MQ 5.3.2

java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Server VM (build 19.0-b09, mixed mode)

LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:    CentOS release 5.5 (Final)
Release:        5.5
Codename:       Final

I don't know how to reproduce with a test case, but I have found 800+ of such "ActiveMQ Connection Dispatcher" threads. I also noted that the number of FDs for the process keeps increasing and after a few days, we have a "too many files opened" when going beyond the 1024 limit. Most of those FDs (hundreds) do look like:

java    6700 lexo-ext  904u  sock                0,5          1741176200 can't identify protocol

There is not much activity on the system and that is still enough to get the problem.

When we reach the limit of FDs, we get tons of stack traces in the logs, filling up the hard disk...

This is a pain.

> ActiveMQ Connection Dispatcher thread
> -------------------------------------
>
>                 Key: AMQ-3286
>                 URL: https://issues.apache.org/jira/browse/AMQ-3286
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.0, 5.3.2
>         Environment: == Java ==
> java version "1.6.0_20"
> Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
> Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)
> == ActiveMQ ==
> - Versions: 5.3.0 and 5.3.2
> - Pure Master/Slave
> - Openwire enabled
> - FlowControl enabled
> - KahaDB
>            Reporter: Simon-Pierre LeBel
>
> 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).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira