RabbitMQ: misleading error message on double [N]ack

Our RabbitMQ client written in Go failed with the following error message:

rabbitmq | 2024-10-23 17:54:01.311544+00:00 [error] operation basic.ack caused a channel exception precondition_failed: unknown delivery tag {message_tag}

Taken at the face value, this would seem that we were trying to ACK a message that was never sent. In reality, due to a bug we were sending a NACK followed by an ACK on the same message. Yes, technically it’s possible that Rabbit has removed the message after the NACK and forgot all about it, but the message is nevertheless misleading. I am not sure whether it pertains only to Go client or to any RabbitMQ client, will probably try that later.

Leave a Reply

Your email address will not be published. Required fields are marked *