[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