[rabbitmq-discuss] Can't Bind After Upgrading from 3.1.1 to 3.1.5

Matthias Radestock matthias at rabbitmq.com
Fri Sep 20 20:35:25 BST 2013


Chris,

On 20/09/13 18:14, Chris wrote:
> After upgrading a customer site from RabbitMQ 3.1.1 to 3.1.5 (on RHEL
> 6.2), we had a few durable queues that did not seem to be working
> correctly (they weren't receiving any messages).  It should be noted
> that this is a cluster of 5 servers with queue mirroring set to exactly
> 2 nodes.
>
> During troubleshooting, we deleted and recreated the queues.  After
> creating the queues, we attempted to rebind them to the exchange (in the
> web management GUI), but this always failed.
>
> [In the following example, names have been changed to protect the
> innocent].  After attempting to bind durable mirrored 'my.queue' to
> durable direct exchange 'my.exchange' using routing key 'my.queue' (in
> vhost 'abc'), we get the following error:
>
>     NOT_FOUND - no binding my.queue between exchange 'my.exchange' in
>     vhost 'abc' and queue 'my.queue' in vhost 'abc'

That happens when the binding in question exists but the 'home' node of 
the (durable) queue is not alive. In case of a mirrored queue that would 
imply that all mirrors are down. Essentially both the queue and 
associated bindings are in a limbo state at that point - they neither 
exist nor do they not exist.

So when you see the above error, please check whether the queue you are 
binding actually exists, i.e. shows up in 'rabbitmqctl list_queues'. If 
it does not then you are seeing normal behaviour. Otherwise there's a bug.

Regards,

Matthias.


More information about the rabbitmq-discuss mailing list