<div dir="ltr">Hi Matthias,<div><br></div><div>According to "rabbitmqctl cluster_status" and the management web console, all 5 nodes were up in the cluster (with no partitions). In addition, I could see the queue in the web management console-- and successfully deleted and re-created the queue too. I also could successfully create other bindings against the same queue and exchange.</div>
<div><br></div><div>I did not try "rabbitmqctl list_qeueus" (and don't have access to the system right now to try it). Still, I would think that successfully deleting and creating the queue in the management console would indicate the queue should be alive and on an online node.</div>
<div><br></div><div>If this is in fact a bug, is there anything you can recommend to get it into a better state?</div><div><br></div><div>-Chris</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Fri, Sep 20, 2013 at 3:35 PM, Matthias Radestock <span dir="ltr"><<a href="mailto:matthias@rabbitmq.com" target="_blank">matthias@rabbitmq.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Chris,<div class="im"><br>
<br>
On 20/09/13 18:14, Chris wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
After upgrading a customer site from RabbitMQ 3.1.1 to 3.1.5 (on RHEL<br>
6.2), we had a few durable queues that did not seem to be working<br>
correctly (they weren't receiving any messages). It should be noted<br>
that this is a cluster of 5 servers with queue mirroring set to exactly<br>
2 nodes.<br>
<br>
During troubleshooting, we deleted and recreated the queues. After<br>
creating the queues, we attempted to rebind them to the exchange (in the<br>
web management GUI), but this always failed.<br>
<br>
[In the following example, names have been changed to protect the<br>
innocent]. After attempting to bind durable mirrored 'my.queue' to<br>
durable direct exchange 'my.exchange' using routing key 'my.queue' (in<br>
vhost 'abc'), we get the following error:<br>
<br>
NOT_FOUND - no binding my.queue between exchange 'my.exchange' in<br>
vhost 'abc' and queue 'my.queue' in vhost 'abc'<br>
</blockquote>
<br></div>
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.<br>
<br>
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.<br>
<br>
Regards,<br>
<br>
Matthias.<br>
</blockquote></div><br></div>