Comment 6 for bug 1396688

Revision history for this message
Alexey Khivin (akhivin) wrote :

The first assumption that I can make is the so-called "Forgotten acknowledgment" is the reason of this error

https://www.rabbitmq.com/tutorials/tutorial-two-python.html
See "Message acknowledgment" part

   ch.basic_ack(delivery_tag = method.delivery_tag)
..

Forgotten acknowledgment

It's a common mistake to miss the basic_ack. It's an easy error, but the consequences are serious. Messages will be redelivered when your client quits (which may look like random redelivery), but RabbitMQ will eat more and more memory as it won't be able to release any unacked messages.

In order to debug this kind of mistake you can use rabbitmqctl to print the messages_unacknowledged field:

$ sudo rabbitmqctl list_queues name messages_ready messages_unacknowledged
Listing queues ...
hello 0 0
...done.