[rabbitmq-discuss] “Unknown delivery tag” from RabbitMQ when ack'ing a message in a cluster with replicated queues

Matthias Radestock matthias at rabbitmq.com
Fri Sep 30 18:59:12 BST 2011


Steve,

On 30/09/11 18:31, Steve Rehrauer wrote:
> Later, when the consumer has reconnected, it again pulls down the same
> message. (The message bodies are tagged with a UUID, so I know it is
> the same one.) This time, when the consumer attempts to basicAck() the
> message, it again gets ShutdownSignalException, but this one has the
> following text in it: "reply-text=PRECONDITION_FAILED - unknown
> delivery tag 7".

Delivery tags are allocated by server-side channel processes; nothing to 
do with queues and hence certainly nothing to do with replication.

> In fact, that is the same delivery tag that was offered to the
> consumer by the broker before the master went down and the consumer
> reconnected.

The symptoms you are describing are most likely cause by some misrouting 
in the app or, less likely, the rabbitmq client library.

Are you 100% sure that you are issuing the channel.basicAck on the 
channel on which the message was received, particularly when there is 
some reconnect going on?

Connecting via the tracer (http://www.rabbitmq.com/examples.html#tracer) 
might shed some light on what's going on.


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list