Hi,

it seems like a bug in 5.3.0 as memory percent for the queue is not
calculated properly. I ran a similar test against 5.3.2 (and snapshot)
and they behave as expected.

Can you run your test against some of these versions and let us know
your results?

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 Thu, Jul 8, 2010 at 4:07 PM, cmongillo <cmongi...@giocodigitale.it> wrote:
>
> Hi Dejan,
> tnx for the reply.
> This is in short the configuration I used for the tests, that is the
> ActiveMq default one with producerFlowControl disabled :
>
>  <policyEntry queue=">" producerFlowControl="false" memoryLimit="50mb">
>  </policyEntry>
>
> I tried with the vmQueueCursor and fileQueueCursor too, to see what happen,
> but the result of pending messages increase is the same : the amount of
> memory occupied by the broker grows until it reached the jvm limit.
> Also the memoryLimit attribute on policyEntry doesn't seem change this
> behaviour. I suspect it is used only with producerFlowControl check.
>
>
>
> Dejan Bosanac wrote:
>>
>> You can also check you memory limits on the queue and see how much of
>> it has been used, and perhaps tune that a bit.
>>
>> 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 Thu, Jul 8, 2010 at 3:21 PM, Dejan Bosanac <de...@nighttale.net> wrote:
>>> Hi Chris,
>>>
>>> Do you by any chance use VM Cursor in your config?
>>>
>>> Please take a look at this page for more details:
>>> http://activemq.apache.org/message-cursors.html
>>>
>>> It'd be good if you could post you configuration, so we can see check it
>>> out.
>>>
>>> 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 Thu, Jul 8, 2010 at 2:51 PM, cmongillo <cmongi...@giocodigitale.it>
>>> wrote:
>>>>
>>>> Hi,
>>>> we are performing some tests on our ActiveMq instance (version 5.3.0)
>>>> and we
>>>> noticed a memory increase when our persistent queues become quite full
>>>> of
>>>> pending messages.
>>>> The result of slow consumers with producerFlowControl disabled is a
>>>> constant
>>>> increase of the memory with the number of pending messages.
>>>> Analyzing a memory dump in this scenario we noticed that the object
>>>> org.apache.activemq.broker.region.Queue related to our full queue has a
>>>> reference to all pending messages.
>>>> Each org.apache.activemq.broker.region.IndirectMessageReference object
>>>> linked to queue contains a reference to the original
>>>> org.apache.activemq.command.ActiveMQTextMessage object with all content
>>>> (jms
>>>> message body).
>>>> What is the reason of caching all the pending object when we work with
>>>> persistent messages?
>>>> There is an option we can set to avoid this behaviour?
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://old.nabble.com/Persistent-messages-cache-causes-OutOfMemory-tp29106666p29106666.html
>>>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>
>>
>> -----
>> Dejan Bosanac
>>
>> Open Source Integration - http://fusesource.com/
>> ActiveMQ in Action - http://www.manning.com/snyder/
>> Blog - http://www.nighttale.net
>>
>
> --
> View this message in context: 
> http://old.nabble.com/Persistent-messages-cache-causes-OutOfMemory-tp29106666p29107409.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>

Reply via email to