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 <bazhe...@farpost.com>

> 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 <s...@nuix.com>
> >
> > > 2009/6/19 Denis Bazhenov <bazhe...@farpost.com>:
> > > > 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 <bazhe...@farpost.com>
> FarPost.
>
>


-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com

Reply via email to