On Wed, Jan 2, 2013 at 9:33 PM, Christian Posta <christian.po...@gmail.com> wrote: > Enqueue count = number of messages sent to the queue > Dequeue count = number of messages ack'd by the consumer > Inflight count = number of messages sent to consumer's session (and are not > ack'd by consumer) > Dispatch count = messages sent to the consumer (dequeue + inflight) >
Nice summary. Christian I think you should add that as a FAQ http://activemq.apache.org/faq > I asked about the async sends because the producer flow control you hit was > the kind that will block the entire connection (instead of just blocking > that one producer). > > > > > > On Wed, Jan 2, 2013 at 12:41 PM, Mohit Anchlia <mohitanch...@gmail.com>wrote: > >> Thanks again! Is the dispatch queue size the one that relates to what's >> held in memory? >> >> We are using mule and the endpoint has no transactions configured. What did >> you mean by forcing async? >> >> On Wed, Jan 2, 2013 at 11:06 AM, Christian Posta >> <christian.po...@gmail.com>wrote: >> >> > Correct. The memoryUsage is increased when messages are held in memory. >> > This happens when messages are paged in from the store. They are then >> > dispatched to consumers and held until the consumer acks. >> > >> > In your case looks like a particular destination (eventsEndpoint) is >> > filling up somehow. Can you look in JMX and see how many enqueued, >> > dispatched, dequeued, inflight etc? Also check to see how many >> > subscriptions to that destination, and see what those dispatch-counter >> and >> > dispatch queue size looks like. >> > >> > BTW any chance you're sending (producers) using a transaction, or forcing >> > sends to be async? >> > >> > >> > >> > On Wed, Jan 2, 2013 at 11:51 AM, Mohit Anchlia <mohitanch...@gmail.com >> > >wrote: >> > >> > > So if I understand correctly I shouldn't be seeing this behaviour >> unless >> > > something is being held in memory. We ack immediately so I am kind of >> > > wondering what might be going on here. Is there a way to find out what >> > > might be happening here? >> > > >> > > On Wed, Jan 2, 2013 at 10:03 AM, Christian Posta >> > > <christian.po...@gmail.com>wrote: >> > > >> > > > What info can you provide about how clients are consuming from the >> > > queues? >> > > > Any chance there are a bunch of messages "inflight" which haven't >> been >> > > > ack'd by the consumer? >> > > > >> > > > >> > > > On Wed, Jan 2, 2013 at 10:20 AM, Mohit Anchlia < >> mohitanch...@gmail.com >> > > > >wrote: >> > > > >> > > > > I see these messages being logged. Queues are setup to use >> persistent >> > > > > store. I am wondering what's causing this messages to get blocked. >> I >> > > see >> > > > > there is a memoryLimit but if I am using persistent=true then >> should >> > > this >> > > > > be the desired behaviour? >> > > > > >> > > > > >> > > > > 2013-01-02 05:06:13,388 | INFO | >> > > > > Usage(default:memory:queue://eventsEndpoint:memory) >> percentUsage=0%, >> > > > > usage=0, limit=20971520, >> > > > > percentUsageMinDelta=1%;Parent:Usage(default:memory) >> > percentUsage=106%, >> > > > > usage=22366029, limit=20971520, percentUsageMinDelta=1%: Usage >> > Manager >> > > > > Memory Limit reached. Producer >> > > > > (ID:pfdamq301.ie.net-54582-1351809386355-2:1:1:1) stopped to >> prevent >> > > > > flooding queue://eventsEndpoint. See >> > > > > >> > > > > >> > > > > <broker xmlns="http://activemq.apache.org/schema/core" >> > > > > brokerName="static-broker1" persistent="true" >> > > > > dataDirectory="${activemq.data}"> >> > > > > >> > > > > <!-- Destination specific policies using destination names >> or >> > > > > wildcards --> >> > > > > <destinationPolicy> >> > > > > <policyMap> >> > > > > <policyEntries> >> > > > > <policyEntry queue=">" >> producerFlowControl="true" >> > > > > memoryLimit="20mb"> >> > > > > <deadLetterStrategy> >> > > > > <individualDeadLetterStrategy >> > > > queuePrefix="DLQ." >> > > > > useQueueForQueueMessages="true" /> >> > > > > </deadLetterStrategy> >> > > > > </policyEntry> >> > > > > <policyEntry topic=">" >> producerFlowControl="true" >> > > > > memoryLimit="20mb"> >> > > > > </policyEntry> >> > > > > </policyEntries> >> > > > > </policyMap> >> > > > > </destinationPolicy> >> > > > > >> > > > > <!-- Use the following to configure how ActiveMQ is exposed >> > in >> > > > JMX >> > > > > --> >> > > > > <managementContext> >> > > > > <managementContext createConnector="true"/> >> > > > > </managementContext> >> > > > > >> > > > >> > > > >> > > > >> > > > -- >> > > > *Christian Posta* >> > > > http://www.christianposta.com/blog >> > > > twitter: @christianposta >> > > > >> > > >> > >> > >> > >> > -- >> > *Christian Posta* >> > http://www.christianposta.com/blog >> > twitter: @christianposta >> > >> > > > > -- > *Christian Posta* > http://www.christianposta.com/blog > twitter: @christianposta -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: cib...@redhat.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen