[rabbitmq-discuss] .NET API - Using PublishConfirms to get Reliability

Michael Klishin mklishin at gopivotal.com
Wed Feb 26 07:08:14 GMT 2014

On 26 Feb 2014, at 09:07, martywaz <marty.wasznicky at neudesic.com> wrote:

> First one is that Rabbit MQ is losing a few messages if both servers in the cluster are shut down.

See my earlier reply about peer unavailability not being detected immediately.

> Second one, Acks/Nacks seem to just get lost by Rabbit MQ.

Can you be more specific?

> Third one...only happens now again...The producer actually receives Acks for delivery tags/messages that don't exist in the its internal queue.

Can you isolate this problem?

> Fourth one....when both servers go down, sometimes, but not always, the consumer will not throw an exception when it tries to read the message in the while loop. i.e : if (!consumer.Queue.Dequeue(3000, out item)).  The item comes back null, but If I look in the debugger, the consumer's and connection's isopen property is true...and the CloseReason is null.

Again, it takes time for OS to report a network failure.

QueueingConsumer will enqueue deliveries in a local queue (collection). When
you shut down your entire cluster, deliveries stop flowing so Dequeue returns null
but connection hasn’t detected network failure yet.


Software Engineer, Pivotal/RabbitMQ

More information about the rabbitmq-discuss mailing list