[rabbitmq-discuss] badmatch when unbinding queue in web management
Petr.Gotthard at Honeywell.com
Fri Mar 28 11:36:51 GMT 2014
I'm not sure this is the case; we don't have multiple identical bindings with different arguments.
In the meantime we discovered the scenario that causes the web unbinds to fail:
-- client creates a binding with some parameters
-- clients unbinds with different parameters (which will fail) and disconnects immediately
It seems that if I disconnect before the failed unbind is fully processed, the queue is left in some strange state. In this state the queue remains "active" forever and cannot be deleted.
Even the standard broker shutdown doesn't work and it is necessary to kill the broker by brute force (-9). After the broker is restarted, the queue can be deleted without any troubles. It almost looks as a way to cripple the broker using a standard AMQP client (a possible DOS attack?).
On the other hand, if there is some wait/sleep between the wrong unbind and the disconnection, everything works fine. This makes me believe there is some race condition in the "wrong unbind-disconnect" scenario.
From: Simon MacMullen [mailto:simon at rabbitmq.com]
Sent: 28. března 2014 11:25
To: Discussions about RabbitMQ
Cc: Gotthard, Petr
Subject: Re: [rabbitmq-discuss] badmatch when unbinding queue in web management
On 28/03/14 08:37, Gotthard, Petr wrote:
> Do you have any idea what could be wrong?
Yes, there's a bug in topic exchanges which is seen when they have
multiple bindings which have identical source, destination and routing
key but differ in arguments.
This bug was introduced in 2.4.0 with fast topic routing, and has been
fixed in hg but has not made it into a release yet - it will be fixed in
3.3.0 when that comes out.
More information about the rabbitmq-discuss