[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
<https://groups.google.com/forum/?fromgroups=#!topic/rabbitmq-discuss/EAxR4_DeiNc>.
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