Damn it, fooled by gmail&#39;s UI again and forgot to CC the list.<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Tony Garnock-Jones</b> <span dir="ltr">&lt;<a href="mailto:tonygarnockjones%2Brabbitmq@gmail.com">tonygarnockjones+rabbitmq@gmail.com</a>&gt;</span><br>
Date: 20 September 2011 06:08<br>Subject: Re: [rabbitmq-discuss] Work on plugins<br>To: Simon MacMullen &lt;<a href="mailto:simon@rabbitmq.com">simon@rabbitmq.com</a>&gt;<br><br><br><div class="im">On 20 September 2011 05:52, Simon MacMullen <span dir="ltr">&lt;<a href="mailto:simon@rabbitmq.com" target="_blank">simon@rabbitmq.com</a>&gt;</span> wrote:<br>
</div><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
could delete exchanges and bindings seems pretty alarming to me.<br></blockquote></div><div><br>Agreed.<br> </div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">


It seems that this is primarily an issue around exchange type plugins. I wonder if we could just not recover exchanges that have an unrecognised type? The trouble is, then you have a &quot;hidden&quot; exchange that will pop back as soon as you reinstall the plugin, but without the plugin you can&#39;t get rid of it, and attempts to redeclare it with a different type will always fail. Hmm.<br>

</blockquote></div><div><br>What about not deleting them, but if during recovery an exchange is found with an unknown type, warning about it in the log and starting it with an &quot;inert exchange type&quot; driver that simply drops all messages routed through it? (It might also log each time it does.)<br>

<br>Then if later Rabbit is restarted with the appropriate exchange type added again, everything is back to normal, but people are warned about possibly-unexpected behaviour and no information is lost without explicit action. Also, exchange.delete would work to get rid of any unwanted exchanges after plugin removal.<br>
<font color="#888888">
<br>Tony<br><br></font></div></div>
</div><br>