I&#39;m hitting an issue where a queue disappears from underneath me in a high volume federated scenario.<br><br>Background: I&#39;m on RabbitMQ 2.8.5 on top of Ubuntu 10.04.<br><br>I have three brokers bi-directionally federated similarly to the &quot;Small complete Graph&quot; example in <a href="http://www.rabbitmq.com/federation.html">http://www.rabbitmq.com/federation.html</a>. My exchange is called &quot;Skytap&quot;, and is a topic exchange. One of the routing key &#39;words&#39; directs messages to the appropriate broker.<br>
<br>In my example, I have a single master sending &quot;requests&quot; to two slaves which reply back to the master, simulating an RPC scenario. A client app on the &#39;master&#39; broker reads from an exclusive queue called &#39;master&quot;, while client apps on the slave brokers read from an exclusive queue called &quot;slave&#39;.<br>
<br>In the low volume case, everything works as expected: A steady stream of request messages seen on the slaves and a steady stream of reply messages seen on the master.<br><br>However, if I write &quot;request&quot; messages as fast as possible, in short order I see the &#39;master&#39; queue disappear. (I know this because I have mnesia logging turned on.)<br>
<br>Here&#39;s the mnesia trace from the master client app startup:<br><br>--------<br>Mnesia(rabbit@mq1): write performed by {tid,16820,&lt;0.154.0&gt;} on record:<br>��� {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>
��������������������� false,false,&lt;0.3392.0&gt;,[],&lt;0.3398.0&gt;,[],undefined}<br>Mnesia(rabbit@mq1): write performed by {tid,16820,&lt;0.154.0&gt;} on record:<br>��� {rabbit_route,{binding,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>
������������������������������ &lt;&lt;&quot;master&quot;&gt;&gt;,<br>������������������������������ {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>������������������������������ []},<br>
��������������������� const}<br>Mnesia(rabbit@mq1): write performed by {tid,16820,&lt;0.154.0&gt;} on record:<br>��� {rabbit_reverse_route,<br>����������� {reverse_binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>
��������������� &lt;&lt;&quot;master&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>��������������� []},<br>����������� const}<br><br>Mnesia(rabbit@mq1): write performed by {tid,16821,&lt;0.153.0&gt;} on record:<br>
��� {rabbit_topic_trie_node,<br>����������� {trie_node,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� &lt;&lt;167,162,233,102,38,77,235,139,202,148,84,98,202,70,145,209&gt;&gt;},<br>
����������� 0,3}<br>Mnesia(rabbit@mq1): write performed by {tid,16821,&lt;0.153.0&gt;} on record:<br>��� {rabbit_exchange_serial,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},16}<br>
Mnesia(rabbit@mq1): write performed by {tid,16821,&lt;0.153.0&gt;} on record:<br>��� {rabbit_reverse_route,<br>����������� {reverse_binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>
��������������� &lt;&lt;&quot;master.mgt&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� []},<br>����������� const}<br>Mnesia(rabbit@mq1): write performed by {tid,16821,&lt;0.153.0&gt;} on record:<br>
��� {rabbit_topic_trie_binding,<br>����������� {trie_binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� &lt;&lt;167,162,233,102,38,77,235,139,202,148,84,98,202,70,145,209&gt;&gt;,<br>
��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;}},<br>����������� const}<br>Mnesia(rabbit@mq1): write performed by {tid,16821,&lt;0.153.0&gt;} on record:<br>��� {rabbit_route,{binding,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>
������������������������������ &lt;&lt;&quot;master.mgt&quot;&gt;&gt;,<br>������������������������������ {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>������������������������������ []},<br>
��������������������� const}<br>--------<br><br><br>And then some time later, after a bunch of successful requests/replies, I get this:<br><br>--------<br>Mnesia(rabbit@mq1): write performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>
��� {rabbit_topic_trie_node,<br>����������� {trie_node,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� &lt;&lt;167,162,233,102,38,77,235,139,202,148,84,98,202,70,145,209&gt;&gt;},<br>
����������� 0,2}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_semi_durable_route,<br>����������� {binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>
��������������� &lt;&lt;&quot;master&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>��������������� []},<br>����������� const}<br>Mnesia(rabbit@mq1): write performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>
��� {rabbit_exchange_serial,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},17}<br>Mnesia(rabbit@mq1): delete performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;}}<br>
Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_reverse_route,<br>����������� {reverse_binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>
��������������� &lt;&lt;&quot;master.mgt&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� []},<br>����������� const}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>
��� {rabbit_topic_trie_binding,<br>����������� {trie_binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� &lt;&lt;167,162,233,102,38,77,235,139,202,148,84,98,202,70,145,209&gt;&gt;,<br>
��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;}},<br>����������� const}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_semi_durable_route,<br>
����������� {binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� &lt;&lt;&quot;master.mgt&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>
��������������� []},<br>����������� const}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_route,{binding,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>
������������������������������ &lt;&lt;&quot;master&quot;&gt;&gt;,<br>������������������������������ {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>������������������������������ []},<br>
��������������������� const}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_route,{binding,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>
������������������������������ &lt;&lt;&quot;master.mgt&quot;&gt;&gt;,<br>������������������������������ {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>������������������������������ []},<br>
��������������������� const}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_reverse_route,<br>����������� {reverse_binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>
��������������� &lt;&lt;&quot;master&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>��������������� []},<br>����������� const}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>
��� {rabbit_durable_route,<br>����������� {binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&quot;skytap&quot;&gt;&gt;},<br>��������������� &lt;&lt;&quot;master.mgt&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>
��������������� []},<br>����������� const}<br>Mnesia(rabbit@mq1): delete_object performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>��� {rabbit_durable_route,<br>����������� {binding,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>
��������������� &lt;&lt;&quot;master&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;},<br>��������������� []},<br>����������� const}<br>Mnesia(rabbit@mq1): delete performed by {tid,16822,&lt;0.154.0&gt;} on record:<br>
��� {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;master&quot;&gt;&gt;}}<br>--------<br><br>The rabbit@mq1.log file shows nothing of any interest. Just the expected AMQP connection accepting/closing.<br>
<br>Anything else useful I can provide?<br><br>Matt<br>