[rabbitmq-discuss] reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag
Matthias Radestock
matthias at rabbitmq.com
Thu Aug 9 09:40:29 BST 2012
Vineet,
On 09/08/12 01:51, Vineet Chadha wrote:
> {#method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED -
> unknown delivery tag 1073743883, class-id=60, method-id=80), null,
> "[B at 607daec3"}
>
> From what i have read so far it seems like a problem of double ack. but
> it could be something totally different.
Apart from the unlikely scenario of the client application randomly
inventing delivery tags and submitting acks, the probable causes are:
- ack'ing the same message twice
- ack'ing on a channel other than the one the messages was received on (*)
- ack'ing a message when it was consumed in no-ack mode
- all the above but using basic.reject, basic.nack instead of basic.ack,
or a combination of the three (e.g. rejecting a message and then ack'ing it)
(*) this is a common occurrence in applications with naive error
recovery logic that re-establishes connections&channels transparently
behind the scenes.
> Our application is connecting to the cluster through a netscaler VIP.
>
> We have not seen this problem when consuming from a local cluster with
> the same application.
The local/remote difference does not change anything logically, but it
does affect timing which thus can reveal race conditions in the application.
Regards,
Matthias.
More information about the rabbitmq-discuss
mailing list