activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stan Lewis <sle...@fusesource.com>
Subject Re: producer flow control and message cursors
Date Fri, 01 Oct 2010 22:18:17 GMT
It could be that you're hitting the system memory usage limit.  Try
setting a lower memory limit on your queue like 1mb with the
pendingQueuePolicy.

On Fri, Oct 1, 2010 at 6:13 PM, Joe Niski <joe.niski@nwea.org> wrote:
> Well, i may have spoken too soon. Tests with a queue's destination policy configured
like this:
>
>                    <policyEntry queue=">" producerFlowControl="true"
memoryLimit="64mb">
>                        <pendingQueuePolicy>
>                            <fileQueueCursor/>
>                        </pendingQueuePolicy>
>                    </policyEntry>
>
> indicate that the pendingQueuePolicy is ignored if producerFlowControl is enabled. The
same test (sending 10,000 messages to a queue that has no consumers) locks up at the same
message count, regardless of whether there's a pendingQueuePolicy or not, with this error
in the log:
> 2010-10-01 09:39:51,081 | INFO  | Kaha Store using data directory /opt/activemq/data/localhost/tmp_storage
| org.apache.activemq.kaha.impl.KahaStore | default:memory:queue://inbound.tt2etl.q:memory
Usage Thread Pool
> 2010-10-01 09:41:04,855 | INFO  | Usage Manager memory limit reached on queue://inbound.tt2etl.q.
Producers will be throttled to the rate at which messages are removed from this destination
to prevent flooding it. See http://activemq.apache.org/producer-flow-control.html for more
info | org.apache.activemq.broker.region.Queue | ActiveMQ Transport: tcp:///192.168.22.78:52741
>
> Setting producerFlowControl="false" changes the behavior - messages continue to be accepted
by the queue, until a consumer starts or AMQ actually runs out of heap and the producer's
connection is broken.
>
> Joe Niski
> IS Development |  NWEA
>
> PHONE 503.212.3382  |  FAX 503.639.7873
>
> NWEA.ORG<3D%22http://www.nwea.org/%22>  |  Partnering to Help All Kids Learn
>
> On 09/29/2010 09:08 AM, Joe Niski wrote:
>
> Thanks for the clarification, Dejan.
>
> *Joe Niski
> *IS Development |  NWEA
>
> PHONE 503.212.3382  | FAX 503.639.7873
>
> NWEA.ORG <3D%22http://www.nwea.org/%22> ** | Partnering to Help All Kids
> Learn
>
>
> On 09/29/2010 01:29 AM, Dejan Bosanac wrote:
>> No, producer flow control is on by default with store based cursor and
>> it will block producers when queue limits are hit. You can
>> additionally configure it so that send() method of the producer will
>> throw an exception in that case.
>>
>> Cheers
>> --
>> Dejan Bosanac - http://twitter.com/dejanb
>>
>> Open Source Integration - http://fusesource.com/
>> ActiveMQ in Action - http://www.manning.com/snyder/
>> Blog - http://www.nighttale.net
>>
>>
>>
>> On Tue, Sep 28, 2010 at 7:43 PM, Joe Niski <joe.niski@nwea.org><mailto:joe.niski@nwea.org>
wrote:
>> > But using the default store-based cursor requires disabling Producer
>> Flow Control, correct?
>
>
>

Mime
View raw message