<div dir="ltr">Hello RabbitMQ gurus,<div><br></div><div>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.</div>
<div><br></div><div>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. </div><div><br>
</div><div>[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:</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">NOT_FOUND - no binding my.queue between exchange 'my.exchange' in vhost 'abc' and queue 'my.queue' in vhost 'abc'</blockquote>
<div><br></div><div>This behavior in the web console confirms the behavior we see when trying to bind programmatically in our app (we get an AMQP 404 error).</div><div><br></div><div>Here is the kicker-- if we change the routing key by just one character, it works flawlessly! Or if we don't change anything, but add "foo=bar" to the binding arguments, it also works! So it seems that because we did this binding in the past, and it was somehow corrupted, it won't allow us to re-bind with the same arguments now. As noted above, even after deleting and re-creating the queue, it still won't let us do that one binding we need.</div>
<div><br></div><div>Is there any way we can fix this easily without interrupting the customer too much? Or is it likely we will have to wipe mnesia on all the nodes and rebuild the cluster (my fear is that this may be the only way)?</div>
<div><br></div><div>Is there anything I can or should do on my end to further debug / investigate?</div><div><br></div><div>Thanks for your help!</div><div><br></div><div>-Chris</div></div>