<div>Regarding:</div><div><br></div>"I recreated some bindings from within the broker (directly in mnesia) and now things started working again. Is there a better way to re-create the binding to the default exchange without having to re-create the queue?"<div>
<br></div><div>I should probably mention that sending the following queue.bind packet didn't seem to help (rabbitmqctl list_bindings still shows the binding missing).</div><div><br></div><div><div>[:sending,</div><div>
#<AMQP::Protocol::Queue::Bind:0x9b26778</div><div> @arguments=nil,</div><div> @debug=1,</div><div> @exchange=</div><div> "nanite-rs-instance-fd0416fe31d7b019112c2c0adce9b4e4a261bab1-1094976",</div><div>
@nowait=true,</div><div> @queue="nanite-rs-instance-fd0416fe31d7b019112c2c0adce9b4e4a261bab1-1094976",</div><div> @routing_key=nil,</div><div> @ticket=1>]</div><div><br></div><div>--</div><div>Raphael</div>
<div><br></div><br><div class="gmail_quote">On Thu, Jun 17, 2010 at 11:34 PM, Raphael Simon <span dir="ltr"><<a href="mailto:raphael@rightscale.com">raphael@rightscale.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Matthias, thanks for following up. Please see my answers inline.<div><div><br><div class="gmail_quote"><div class="im">On Thu, Jun 17, 2010 at 10:52 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">Raphael,<br>
<br>
Raphael Simon wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Running some queries on the broker shows that the queue route is indeed gone from mnesia while the exchange route still exists: [...]<br>
</blockquote>
<br>
Simply running 'rabbitmqctl list_bindings' should give the same results. Please do that, just to check.<br></blockquote><div><br></div></div><div>Yes indeed but where is the fun in doing that? OK more seriously I did not understand the subtlety of the empty spaces, now I do (as a side note it would be nice to have something rather than blank in this case maybe *** or ---).</div>
<div class="im">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
It looks like the binding to the default exchange has vanished. That really should only ever happen if the queue is deleted or that binding is removed explicitly. Could the latter have happened? It's actually a grey area of the spec; imo it should not be allowed, but rabbit does currently permit it.<br>
</blockquote><div><br></div></div><div>No I can't think of a place where we would delete a binding. We only ever delete queues.</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Is the default exchange itself still there? Check with 'rabbitmqctl list_exchanges'.<br></blockquote><div><br></div></div><div>Yes the exchange still exists.</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Is this reproducible at all? I suspect not :(<br></blockquote><div><br></div></div><div>No it has only happens about 15 times on the course of two days. During these two days our system was having issues and weird things could have happened on the broker (e.g. the queue could have been deleted and recreated).</div>
<div class="im">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
What version of rabbit are you running?</blockquote><div><br></div></div><div>1.7.2</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I still don't understand what scenario could cause this to happen though especially since the exchange is auto-delete<br>
</blockquote>
<br></div>
Interesting. auto-delete exchanges are very rare. In fact I do not know of anybody else using them. So it's possible there is a bug in that code that has laid dormant for years. Can you explain your use-case for auto-delete exchanges?<br>
</blockquote><div><br></div></div><div>Embarrassingly enough, I can't :) The fact that we are using direct exchanges for these queues was a bug we introduced, we will be removing them.</div><div class="im"><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Also, what version of rabbit are you running?<br></blockquote><div><br></div></div><div>1.7.2</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
Regards,<br><font color="#888888">
<br>
Matthias.<br></font></blockquote><div><br></div><div>I recreated some bindings from within the broker (directly in mnesia) and now things started working again. Is there a better way to re-create the binding to the default exchange without having to re-create the queue?</div>
<div><br></div><div>Obviously I'm still very much interested in finding out what could have caused the binding to be deleted in the first place.</div><div><br></div><div>Thanks,</div><div><br></div><div>--</div><div>
Raphael. </div>
</div><br></div></div>
</blockquote></div><br></div>