[rabbitmq-discuss] How can I avoid write buffer warnings for non persistant messaging?

Francesco Mazzoli francesco at rabbitmq.com
Wed Sep 5 09:43:24 BST 2012

At Tue, 4 Sep 2012 17:43:50 -0700 (PDT),
c00kiemonster wrote:
> 2012-09-04 09:05:29,402 - server.STDERR - ERROR - /usr/local/lib/
> python2.7/dist-packages/pika-0.9.5-py2.7.egg/pika/connection.py:650:
> UserWarning: Pika: Write buffer exceeded warning threshold at 1595
> bytes and an estimated 10 frames behind

What's happening here is that your connection is being blocked due to flow
control, and Pika is detecting TCP backpressure, see
This is just a warning, your code is not breaking.

> Am I misunderstanding something here? Because my messages are not persistant
> and the exchanges and queues are non durable I would expect rabbitmq to simply
> discard messages sent with routing keys that are without any receiver.

This is exactly what happens, unless the `mandatory' flag is set - regardless of
the durability of the queue and exchanges:
<https://rabbitmq.com/amqp-0-9-1-reference.html#basic.publish>.  Your messages
are queueing up somewhere, and flow control is being triggered.

Francesco * Often in error, never in doubt

More information about the rabbitmq-discuss mailing list