InFlightCount/DispatchCount meaning

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

InFlightCount/DispatchCount meaning

Denis Bazhenov
I'm interested in following topic. What does the InFlightCount mean if
JMX console for queue.

It's seems like in flight count is difference between dequeue count and
dispatch count. But I have very strange situation.

I have a queue which have following statistic:

DequeueCount:  55189
DispatchCount: 77525
EnqueueCount:  55191
InFlightCount: 22336
QueueSize:     2

How can I dispatch more messages than I enqueue? Can anyone explain what
does this numbers mean?

--
Denis Bazhenov <[hidden email]>
FarPost.

Reply | Threaded
Open this post in threaded view
|

Re: InFlightCount/DispatchCount meaning

yesnid
I am not sure Denis but I enterprit it as bug in jmx console
Denis Bazhenov wrote
I'm interested in following topic. What does the InFlightCount mean if
JMX console for queue.

It's seems like in flight count is difference between dequeue count and
dispatch count. But I have very strange situation.

I have a queue which have following statistic:

DequeueCount:  55189
DispatchCount: 77525
EnqueueCount:  55191
InFlightCount: 22336
QueueSize:     2

How can I dispatch more messages than I enqueue? Can anyone explain what
does this numbers mean?

--
Denis Bazhenov <bazhenov@farpost.com>
FarPost.
Reply | Threaded
Open this post in threaded view
|

Re: InFlightCount/DispatchCount meaning

David Sitsky-2
In reply to this post by Denis Bazhenov
2009/6/19 Denis Bazhenov <[hidden email]>:

> I'm interested in following topic. What does the InFlightCount mean if
> JMX console for queue.
>
> It's seems like in flight count is difference between dequeue count and
> dispatch count. But I have very strange situation.
>
> I have a queue which have following statistic:
>
> DequeueCount:  55189
> DispatchCount: 77525
> EnqueueCount:  55191
> InFlightCount: 22336
> QueueSize:     2
>
> How can I dispatch more messages than I enqueue? Can anyone explain what
> does this numbers mean?

Note that DequeueCount + InFlightCount == DispatchCount.

From my understanding:

EnqueueCount = Number of messages sent to a queue and committed.

DequeueCount = Number of messages removed from a queue and committed.

DispatchCount = Number of messages sent from this queue to consumers.
Includes messages which were not commit()ed, but rolledback.

InFlightCount = Number of messages sent from this queue to consumers
that haven't been committed.

Given you large difference in DispatchCount compared to DequeueCount,
perhaps a lot of your consumers are failing when they receive a
message, and don't call commit().

--
Cheers,
David

Nuix Pty Ltd
Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
Web: http://www.nuix.com                            Fax: +61 2 9212 6902
Reply | Threaded
Open this post in threaded view
|

Re: InFlightCount/DispatchCount meaning

gtully
the prefetch has a large bearing on this, it defaults to 1000 for queues.

If you have lots of consumers that consume just a few messages (say 100),
each will get dispatched up to the prefetch value, and when the consumer
closes, the remaining 900 will get dispatched again to another consumer.

Hence dispatchCount total can increase past the enqueue count.
The inflightCount is the sum of the current non committed prefetched
messages for existing consumers.

For more info on prefetch see:
http://activemq.apache.org/what-is-the-prefetch-limit-for.html


2009/6/23 David Sitsky <[hidden email]>

> 2009/6/19 Denis Bazhenov <[hidden email]>:
> > I'm interested in following topic. What does the InFlightCount mean if
> > JMX console for queue.
> >
> > It's seems like in flight count is difference between dequeue count and
> > dispatch count. But I have very strange situation.
> >
> > I have a queue which have following statistic:
> >
> > DequeueCount:  55189
> > DispatchCount: 77525
> > EnqueueCount:  55191
> > InFlightCount: 22336
> > QueueSize:     2
> >
> > How can I dispatch more messages than I enqueue? Can anyone explain what
> > does this numbers mean?
>
> Note that DequeueCount + InFlightCount == DispatchCount.
>
> From my understanding:
>
> EnqueueCount = Number of messages sent to a queue and committed.
>
> DequeueCount = Number of messages removed from a queue and committed.
>
> DispatchCount = Number of messages sent from this queue to consumers.
> Includes messages which were not commit()ed, but rolledback.
>
> InFlightCount = Number of messages sent from this queue to consumers
> that haven't been committed.
>
> Given you large difference in DispatchCount compared to DequeueCount,
> perhaps a lot of your consumers are failing when they receive a
> message, and don't call commit().
>
> --
> Cheers,
> David
>
> Nuix Pty Ltd
> Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
> Web: http://www.nuix.com                            Fax: +61 2 9212 6902
>



--
http://blog.garytully.com

Open Source Integration
http://fusesource.com
Reply | Threaded
Open this post in threaded view
|

Re: InFlightCount/DispatchCount meaning

Denis Bazhenov
There is one more aspect that I don't understand.

My queue InFlightCount value vary about 6000. One moment it's exactly
6000, another moment it's 6012 and so on (but never <6000). So new
messages are acknowledged correctly, but there is 6K messages that were
not commited by consumer, I guess.

We have 2 options here. First of all maybe these 6K messages were
dispatched to another consumer (and acknowledged), so InFlightCount must
be equals zero. Second option is that these 6K messages are not
dispatched to another consumer and hang up somewhere.

Where is truth?

P.S. Browse method on queue (via JMX console) says that queue doesn't
have messages.

On Tue, 2009-06-23 at 16:51 +0100, Gary Tully wrote:

> the prefetch has a large bearing on this, it defaults to 1000 for queues.
>
> If you have lots of consumers that consume just a few messages (say 100),
> each will get dispatched up to the prefetch value, and when the consumer
> closes, the remaining 900 will get dispatched again to another consumer.
>
> Hence dispatchCount total can increase past the enqueue count.
> The inflightCount is the sum of the current non committed prefetched
> messages for existing consumers.
>
> For more info on prefetch see:
> http://activemq.apache.org/what-is-the-prefetch-limit-for.html
>
>
> 2009/6/23 David Sitsky <[hidden email]>
>
> > 2009/6/19 Denis Bazhenov <[hidden email]>:
> > > I'm interested in following topic. What does the InFlightCount mean if
> > > JMX console for queue.
> > >
> > > It's seems like in flight count is difference between dequeue count and
> > > dispatch count. But I have very strange situation.
> > >
> > > I have a queue which have following statistic:
> > >
> > > DequeueCount:  55189
> > > DispatchCount: 77525
> > > EnqueueCount:  55191
> > > InFlightCount: 22336
> > > QueueSize:     2
> > >
> > > How can I dispatch more messages than I enqueue? Can anyone explain what
> > > does this numbers mean?
> >
> > Note that DequeueCount + InFlightCount == DispatchCount.
> >
> > From my understanding:
> >
> > EnqueueCount = Number of messages sent to a queue and committed.
> >
> > DequeueCount = Number of messages removed from a queue and committed.
> >
> > DispatchCount = Number of messages sent from this queue to consumers.
> > Includes messages which were not commit()ed, but rolledback.
> >
> > InFlightCount = Number of messages sent from this queue to consumers
> > that haven't been committed.
> >
> > Given you large difference in DispatchCount compared to DequeueCount,
> > perhaps a lot of your consumers are failing when they receive a
> > message, and don't call commit().
> >
> > --
> > Cheers,
> > David
> >
> > Nuix Pty Ltd
> > Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280 0699
> > Web: http://www.nuix.com                            Fax: +61 2 9212 6902
> >
>
>
>
--
Denis Bazhenov <[hidden email]>
FarPost.

Reply | Threaded
Open this post in threaded view
|

Re: InFlightCount/DispatchCount meaning

gtully
the inflight count means inflight to a consumers session, not necessarily
received and unacked by a consumer. You must have 6 consumers. There is an
additional prefetch extension that is used in transactions when a message is
delivered so that a transction can span the prefetch limit.

2009/6/24 Denis Bazhenov <[hidden email]>

> There is one more aspect that I don't understand.
>
> My queue InFlightCount value vary about 6000. One moment it's exactly
> 6000, another moment it's 6012 and so on (but never <6000). So new
> messages are acknowledged correctly, but there is 6K messages that were
> not commited by consumer, I guess.
>
> We have 2 options here. First of all maybe these 6K messages were
> dispatched to another consumer (and acknowledged), so InFlightCount must
> be equals zero. Second option is that these 6K messages are not
> dispatched to another consumer and hang up somewhere.
>
> Where is truth?
>
> P.S. Browse method on queue (via JMX console) says that queue doesn't
> have messages.
>
> On Tue, 2009-06-23 at 16:51 +0100, Gary Tully wrote:
> > the prefetch has a large bearing on this, it defaults to 1000 for queues.
> >
> > If you have lots of consumers that consume just a few messages (say 100),
> > each will get dispatched up to the prefetch value, and when the consumer
> > closes, the remaining 900 will get dispatched again to another consumer.
> >
> > Hence dispatchCount total can increase past the enqueue count.
> > The inflightCount is the sum of the current non committed prefetched
> > messages for existing consumers.
> >
> > For more info on prefetch see:
> > http://activemq.apache.org/what-is-the-prefetch-limit-for.html
> >
> >
> > 2009/6/23 David Sitsky <[hidden email]>
> >
> > > 2009/6/19 Denis Bazhenov <[hidden email]>:
> > > > I'm interested in following topic. What does the InFlightCount mean
> if
> > > > JMX console for queue.
> > > >
> > > > It's seems like in flight count is difference between dequeue count
> and
> > > > dispatch count. But I have very strange situation.
> > > >
> > > > I have a queue which have following statistic:
> > > >
> > > > DequeueCount:  55189
> > > > DispatchCount: 77525
> > > > EnqueueCount:  55191
> > > > InFlightCount: 22336
> > > > QueueSize:     2
> > > >
> > > > How can I dispatch more messages than I enqueue? Can anyone explain
> what
> > > > does this numbers mean?
> > >
> > > Note that DequeueCount + InFlightCount == DispatchCount.
> > >
> > > From my understanding:
> > >
> > > EnqueueCount = Number of messages sent to a queue and committed.
> > >
> > > DequeueCount = Number of messages removed from a queue and committed.
> > >
> > > DispatchCount = Number of messages sent from this queue to consumers.
> > > Includes messages which were not commit()ed, but rolledback.
> > >
> > > InFlightCount = Number of messages sent from this queue to consumers
> > > that haven't been committed.
> > >
> > > Given you large difference in DispatchCount compared to DequeueCount,
> > > perhaps a lot of your consumers are failing when they receive a
> > > message, and don't call commit().
> > >
> > > --
> > > Cheers,
> > > David
> > >
> > > Nuix Pty Ltd
> > > Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280
> 0699
> > > Web: http://www.nuix.com                            Fax: +61 2 9212
> 6902
> > >
> >
> >
> >
> --
> Denis Bazhenov <[hidden email]>
> FarPost.
>
>


--
http://blog.garytully.com

Open Source Integration
http://fusesource.com
Reply | Threaded
Open this post in threaded view
|

Re: InFlightCount/DispatchCount meaning

Denis Bazhenov
Yeah, but I have fast consumers and slow producers. In my case
InFlightCount must be about zero, I guess. This is because of producers
too slow to generate a lot of messages for consumers. Do I miss
something?

On Wed, 2009-06-24 at 17:00 +0100, Gary Tully wrote:

> the inflight count means inflight to a consumers session, not necessarily
> received and unacked by a consumer. You must have 6 consumers. There is an
> additional prefetch extension that is used in transactions when a message is
> delivered so that a transction can span the prefetch limit.
>
> 2009/6/24 Denis Bazhenov <[hidden email]>
>
> > There is one more aspect that I don't understand.
> >
> > My queue InFlightCount value vary about 6000. One moment it's exactly
> > 6000, another moment it's 6012 and so on (but never <6000). So new
> > messages are acknowledged correctly, but there is 6K messages that were
> > not commited by consumer, I guess.
> >
> > We have 2 options here. First of all maybe these 6K messages were
> > dispatched to another consumer (and acknowledged), so InFlightCount must
> > be equals zero. Second option is that these 6K messages are not
> > dispatched to another consumer and hang up somewhere.
> >
> > Where is truth?
> >
> > P.S. Browse method on queue (via JMX console) says that queue doesn't
> > have messages.
> >
> > On Tue, 2009-06-23 at 16:51 +0100, Gary Tully wrote:
> > > the prefetch has a large bearing on this, it defaults to 1000 for queues.
> > >
> > > If you have lots of consumers that consume just a few messages (say 100),
> > > each will get dispatched up to the prefetch value, and when the consumer
> > > closes, the remaining 900 will get dispatched again to another consumer.
> > >
> > > Hence dispatchCount total can increase past the enqueue count.
> > > The inflightCount is the sum of the current non committed prefetched
> > > messages for existing consumers.
> > >
> > > For more info on prefetch see:
> > > http://activemq.apache.org/what-is-the-prefetch-limit-for.html
> > >
> > >
> > > 2009/6/23 David Sitsky <[hidden email]>
> > >
> > > > 2009/6/19 Denis Bazhenov <[hidden email]>:
> > > > > I'm interested in following topic. What does the InFlightCount mean
> > if
> > > > > JMX console for queue.
> > > > >
> > > > > It's seems like in flight count is difference between dequeue count
> > and
> > > > > dispatch count. But I have very strange situation.
> > > > >
> > > > > I have a queue which have following statistic:
> > > > >
> > > > > DequeueCount:  55189
> > > > > DispatchCount: 77525
> > > > > EnqueueCount:  55191
> > > > > InFlightCount: 22336
> > > > > QueueSize:     2
> > > > >
> > > > > How can I dispatch more messages than I enqueue? Can anyone explain
> > what
> > > > > does this numbers mean?
> > > >
> > > > Note that DequeueCount + InFlightCount == DispatchCount.
> > > >
> > > > From my understanding:
> > > >
> > > > EnqueueCount = Number of messages sent to a queue and committed.
> > > >
> > > > DequeueCount = Number of messages removed from a queue and committed.
> > > >
> > > > DispatchCount = Number of messages sent from this queue to consumers.
> > > > Includes messages which were not commit()ed, but rolledback.
> > > >
> > > > InFlightCount = Number of messages sent from this queue to consumers
> > > > that haven't been committed.
> > > >
> > > > Given you large difference in DispatchCount compared to DequeueCount,
> > > > perhaps a lot of your consumers are failing when they receive a
> > > > message, and don't call commit().
> > > >
> > > > --
> > > > Cheers,
> > > > David
> > > >
> > > > Nuix Pty Ltd
> > > > Suite 79, 89 Jones St, Ultimo NSW 2007, Australia    Ph: +61 2 9280
> > 0699
> > > > Web: http://www.nuix.com                            Fax: +61 2 9212
> > 6902
> > > >
> > >
> > >
> > >
> > --
> > Denis Bazhenov <[hidden email]>
> > FarPost.
> >
> >
>
>
--
Denis Bazhenov <[hidden email]>
FarPost.