You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2015/03/22 12:01:11 UTC

[jira] [Commented] (AMQ-5681) inFlightCount of "ActiveMQ.Advisory.TempQueue" seems to rise forever.

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

Timothy Bish commented on AMQ-5681:
-----------------------------------

This is in fact working as it should be.  Each connection creates a consumer for those temporary destination advisories so that it knows the state of temporary destinations and can throw exceptions as per the JMS spec in certain circumstances.  You can disable that feature on the connection via the watchTopicAdvisories option in ActiveMQConnectionFactory.  

> inFlightCount of "ActiveMQ.Advisory.TempQueue" seems to rise forever.
> ---------------------------------------------------------------------
>
>                 Key: AMQ-5681
>                 URL: https://issues.apache.org/jira/browse/AMQ-5681
>             Project: ActiveMQ
>          Issue Type: Bug
>            Reporter: Endre Stølsvik
>
> These are some lines from a monitor-thingy that I have:
> {code}
> ActiveMQ.Advisory.TempQueue
>   DLQ: false, consumer#:4, producer#:0 queueSize:0, enqueue#:10, dequeue#:0, dispatch#:40, inFlight#:40, expired#:0
> {code}
> The fact here is that no-one is subscribing to that advisory channel. There are however a total of 4 Connections to the ActiveMQ instance.
> And there have been made a total of 10 temporary queues (to use as a request-reply channel for the statistics plugin: "ActiveMQ.Statistics.Broker").
> Evidently, for every Connection made to the broker, it somehow assumes that the Connection wants these advisories, but then there is no one actually consuming and acknowledging them, thus stacking up in the inFlightCount.
> ... after this JVM running has been running for a while, those monitor-lines read like this (the "call" to the statistics-plugin goes every 10 second):
> {code}
> ActiveMQ.Advisory.TempQueue
>   DLQ: false, consumer#:4, producer#:0 queueSize:0, enqueue#:1174, dequeue#:3004, dispatch#:4716, inFlight#:1712, expired#:0
> {code}
> I do not know how the "dequeueCount" ends up getting higher, reducing the inFlightCount. However, in our production setup the net inFlightCount nevertheless just continues to go higher (but I have not been able to deploy that monitor thing there yet, so I do not know the ratio of dequeue vs. inFlight - but inFlight is way over 200.000 after some days of running).
> Do note that this strange-ness does not hold for any other Advisory channel (i.e. any Connection adds to the consumerCount, and any queue creation adds to both enqueueCount and inFlightCount) - it is just TempQueue that handles like this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)