You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Ishitori <Is...@bk.ru> on 2012/02/17 15:27:52 UTC

Huge enqueues quantity in consumer list page

I am using ActiveMQ web console to monitor ActiveMQ performance. And I've
found a very strange statistics in my brokers.

I use failover in AMQ 5.5.0 and there is a queue which has 100 consumers.
Roughly, I run through the queue about 300k messages a day. I use individual
acknowledge mode and if the message is not got processed, I put it back into
the queue with a delay.

If I go to Queue details -> View consumers page then I will see the list of
the consumers of the queue with the columns: Enequeues, Dequeues,
Dispatched. I expect these values to be the same, since every enqueued
message should be dequeued and then dispatched. And this assumption is
correct for other queues, but it is not for that one specific queue. I can
see the following statistics:

Client ID | Enqueues | Dequeues | Dispatched
A          | 1078702   | 266         | 266  
B          | 1667141   | 289         | 289
C          | 1653100   | 281         | 281

The number of enqueued message is too high and it is increasing after each
page refresh by about 100 messages. But the system is not that loaded for
sure.

Right now I am experiencing some losts of messages and I want to make sure
if that problem might be related to missing messages problem. Has anyone
experienced the same problem with the number of enqueues?

--
View this message in context: http://activemq.2283324.n4.nabble.com/Huge-enqueues-quantity-in-consumer-list-page-tp4397406p4397406.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Huge enqueues quantity in consumer list page

Posted by Ishitori <Is...@bk.ru>.
Ok, it seems I figured out the answer. It is states for NMS provider, but I
think it is more general problem.

The problem reproduces if you have a consumer with 0 prefetchSize. In this
case a call to MessageConsumer.SendPullRequest gives true on the following
condition:

if (this.info.PrefetchSize == 0 && this.unconsumedMessages.Empty)

It does send message pull request:

session.Connection.Oneway(messagePull);

So, it seems fine to me. But what I can't understand is why it displays pull
requests in Enqueues column in Active Consumers page? It seems a bug to me.

--
View this message in context: http://activemq.2283324.n4.nabble.com/Huge-enqueues-quantity-in-consumer-list-page-tp4397406p4403657.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.