You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Anthrope <pn...@anthrope.com> on 2007/06/07 18:56:35 UTC

Broker Out of Memory

Hello,
   I am sure people have dealt with this in the past, but I couldn't find
anything in prior posts that completely answered my question, so here it is:

   We are using ActiveMQ 4.1.1 with MySQL as the persistence store. We push
through messages that are typically 50k-100k in size, over persistent
queues. Sometimes, the number of messages in a particular broker can grow a
fair bit because the queues are not being drained. Today, we had a situation
where we shut down a broker that had roughly accumulated 1.2 million
messages on a queue. The broker restarted just fine, but had an out of
memory error when a client tried to connect (we have allotted the VM 2G of
memory). Is there a limit on the number of messages that can be resident in
persistent store before recovery is impossible? FWIW, we are not using a
UsageManager in our broker configuration.

   Having looked quite closely at the code, I am inclined to think that this
is because the broker invokes the recover() method on the JDBCMessageStore
class, which in turn tries to recover *all* the messages. If this hypothesis
is indeed correct, my question would be how this could be avoided.

Solving this is important to me not just for this particular issue, but also
due to the fact that I have written a SleepyCat BDB adaptor to ActiveMQ, and
would like to ensure that it is not susceptible to the same issue. I would
appreciate any advice/help on this issue.

Thanks much in advance,
Prashanth Nandavanam
-- 
View this message in context: http://www.nabble.com/Broker-Out-of-Memory-tf3885035s2354.html#a11012019
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Broker Out of Memory

Posted by Anthrope <pn...@anthrope.com>.
Hiram,
    Thanks for the answer. I shall download the 4.2 code and look at it.

    Do you know what the anticipated release date is, for the 4.2 release?

Thanks,
Prashanth


Hiram Chirino wrote:
> 
> ActiveMQ 4.1.x and before keep all inflight messages in memory.  4.2.x
> changed so that persistent messages are cursored in as needed so it
> should have a better memory footprint for large queues.
> 
> On 6/7/07, Anthrope <pn...@anthrope.com> wrote:
>>
>> Hello,
>>    I am sure people have dealt with this in the past, but I couldn't find
>> anything in prior posts that completely answered my question, so here it
>> is:
>>
>>    We are using ActiveMQ 4.1.1 with MySQL as the persistence store. We
>> push
>> through messages that are typically 50k-100k in size, over persistent
>> queues. Sometimes, the number of messages in a particular broker can grow
>> a
>> fair bit because the queues are not being drained. Today, we had a
>> situation
>> where we shut down a broker that had roughly accumulated 1.2 million
>> messages on a queue. The broker restarted just fine, but had an out of
>> memory error when a client tried to connect (we have allotted the VM 2G
>> of
>> memory). Is there a limit on the number of messages that can be resident
>> in
>> persistent store before recovery is impossible? FWIW, we are not using a
>> UsageManager in our broker configuration.
>>
>>    Having looked quite closely at the code, I am inclined to think that
>> this
>> is because the broker invokes the recover() method on the
>> JDBCMessageStore
>> class, which in turn tries to recover *all* the messages. If this
>> hypothesis
>> is indeed correct, my question would be how this could be avoided.
>>
>> Solving this is important to me not just for this particular issue, but
>> also
>> due to the fact that I have written a SleepyCat BDB adaptor to ActiveMQ,
>> and
>> would like to ensure that it is not susceptible to the same issue. I
>> would
>> appreciate any advice/help on this issue.
>>
>> Thanks much in advance,
>> Prashanth Nandavanam
>> --
>> View this message in context:
>> http://www.nabble.com/Broker-Out-of-Memory-tf3885035s2354.html#a11012019
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Regards,
> Hiram
> 
> Blog: http://hiramchirino.com
> 
> 

-- 
View this message in context: http://www.nabble.com/Broker-Out-of-Memory-tf3885035s2354.html#a11014525
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Broker Out of Memory

Posted by Hiram Chirino <hi...@hiramchirino.com>.
ActiveMQ 4.1.x and before keep all inflight messages in memory.  4.2.x
changed so that persistent messages are cursored in as needed so it
should have a better memory footprint for large queues.

On 6/7/07, Anthrope <pn...@anthrope.com> wrote:
>
> Hello,
>    I am sure people have dealt with this in the past, but I couldn't find
> anything in prior posts that completely answered my question, so here it is:
>
>    We are using ActiveMQ 4.1.1 with MySQL as the persistence store. We push
> through messages that are typically 50k-100k in size, over persistent
> queues. Sometimes, the number of messages in a particular broker can grow a
> fair bit because the queues are not being drained. Today, we had a situation
> where we shut down a broker that had roughly accumulated 1.2 million
> messages on a queue. The broker restarted just fine, but had an out of
> memory error when a client tried to connect (we have allotted the VM 2G of
> memory). Is there a limit on the number of messages that can be resident in
> persistent store before recovery is impossible? FWIW, we are not using a
> UsageManager in our broker configuration.
>
>    Having looked quite closely at the code, I am inclined to think that this
> is because the broker invokes the recover() method on the JDBCMessageStore
> class, which in turn tries to recover *all* the messages. If this hypothesis
> is indeed correct, my question would be how this could be avoided.
>
> Solving this is important to me not just for this particular issue, but also
> due to the fact that I have written a SleepyCat BDB adaptor to ActiveMQ, and
> would like to ensure that it is not susceptible to the same issue. I would
> appreciate any advice/help on this issue.
>
> Thanks much in advance,
> Prashanth Nandavanam
> --
> View this message in context: http://www.nabble.com/Broker-Out-of-Memory-tf3885035s2354.html#a11012019
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 
Regards,
Hiram

Blog: http://hiramchirino.com