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

c00kiemonster ake.kullenberg at gmail.com
Wed Sep 5 01:43:50 BST 2012

I am using pika to communicate between server instances on a linux
server and client instances on windows workstations. I had some issues
with SelectConnection that disappeared when I switched to
BlockingConnection but now I only have one issue left, write buffer

I don't need messages to be persistant, and I don't need exchanges and
queues to survive a restart of the rabbitmq server. So after reading
up on AMQP I changed all exchanges (only using topic exchanges) and
queues to be non durable and with auto_delete set to True. All
messages are sent as non persistant and they are consumed with no_ack
set to True. I have confirmed the exchange and queue settings are
correct with rabbitmqctl and all messages received are verified to
have deliver_mode set to 1. So far so good.

But when I start the server instance before the client, ie, the server
instance sends out messages with routing keys that there are no
receivers for, I get write buffer warnings like this one:

2012-09-04 09:05:29,402 - server.STDERR - ERROR - /usr/local/lib/
UserWarning: Pika: Write buffer exceeded warning threshold at 1595
bytes and an estimated 10 frames behind

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.

Could someone please explain / help out?

Thanks much!

More information about the rabbitmq-discuss mailing list