Hi<br><br>We are currently using RabbitMQ 1.7.0 and we&#39;d like to move to 1.7.2 but we have noticed a fundamental behavior change across these versions. Let me explain:<br><br>1) Assume we have a cluster of RabbitMQ nodes... &#39;rabbit@host1&#39; and &#39;rabbit@host2&#39;<br>
2) &#39;client1&#39; connects to &#39;rabbit@host1&#39;, declares an exchange &#39;test_x&#39; and then declares a q &#39;test_queue&#39; and binds to it.<br>3) &#39;client2&#39; being of the same codebase as &#39;client1&#39; on starting up connects to &#39;rabbit@host2&#39; and does the same thing as &#39;client1&#39;.<br>
<br>At this point of time, If we do a &#39;rabbitmqctl list_queues consumers name node&#39; the response we get is:<br><br>2        test_queue         rabbit@host1<br><br>Our reason for doing this was that a message sent to the &#39;test_x&#39; exchange would be consumed by either of the clients.<br>
<br>Now.. <br><br>4) Assume &#39;rabbit@host1&#39; node goes down (machine crash, becomes unreachable... whatever)<br>5) &#39;client1&#39; detects the outage and tries connecting to &#39;rabbit@host2&#39;... and the mq connection startup code kicks in.. thus.. the queue &#39;test_queue&#39; is recreated on &#39;rabbit@host2&#39;<br>
<br>Now... If we do a &#39;rabbitmqctl list_queues consumers 
name node&#39; the response we get is:<br>
<br>
1        test_queue         rabbit@host2<br><br>As u can see we have only one consumer...<br><br>To fix this isuue... we get &#39;client1&#39; to notify all other clients of a network outage.. &#39;client2&#39; intercepts this message and promptly reconnects to &#39;rabbit@host2&#39; and again binds to &#39;test_queue&#39;.<br>
Everyone is happy...<br><br>Unfortunately... we have noticed that from 1.7.1, step 4 goes for a toss..<br><br>if &#39;rabbit@host1&#39; goes down, &#39;client1&#39; cannot recreate &#39;test_queue&#39; on &#39;rabbit@host2&#39;.<br>
Do this imply that... all queues created on the node WILL be unavailable for the duration of the nodes outage ??<br>Which means there wont be any consumers for messages sent to the exchange for the duration of the outage..<br>
<br>I was wondering if anybody could probably shed some light on :<br>1) Why this change in behaviour ?<br>2) What is the suggested approach to tackle these types of availability issues in rabbitMQ ?<br><br>Thanx in advance<br>
-Arun Suresh<br><br><br><br><br>