[rabbitmq-discuss] mysterious rabbit crash

Dmitriy Samovskiy dmitriy.samovskiy at cohesiveft.com
Tue May 19 18:53:45 BST 2009


Matthias Radestock wrote:
> Tony Garnock-Jones wrote:
>> Dmitriy Samovskiy wrote:
>>> Which makes me wonder why rabbit was using  so much memory if its
>>> queues were being drained normally...
>> Indeed. If you still have the persister log around somewhere, it might
>> be worth feeding it to a rabbit and using rabbitmqctl to get a picture
>> of the states of the queues implied by the file?
> 

I don't think it survived :)

> The difference between
> 
>> -rw-r--r--    1 rabbitmq rabbitmq 22722770 May 19 00:27 
>> rabbit_persister.LOG.previous
> 
> and
> 
>> binary: 815315560
> 
> Suggests that the bulk of the memory is consumed by transient messages, 
> and that it just happened to be a persister log rollover that triggered 
> the OOM condition.
> 
> What client are you using to publish the messages? Does it react to 
> channel.flow messages from the server telling it to throttle?

Py-amqplib. I don't think it supports channel.flow, or at least the version that I 
currently have doesn't support it.


> 
> Also, are you sure the consumers were draining all the queues and 
> ack'ing messages properly?

Not anymore. The code seems to indicate it does, but I will verify it with rabbitmqctl 
next time.

> 
> You could set up some monitoring that periodically calls 'rabbitmqctl 
> list_queues ...' to catch any queues not getting drained.
> 

Thanks for your ideas and your time. I will keep a closer eye on this box now. If it 
happens again, I can get more information.


- Dmitriy





More information about the rabbitmq-discuss mailing list