I&#39;m experiencing a consistently reproducible scenario where an HA queue disappears when a node rejoins the cluster. This is using RabbitMQ 2.8.5 and Erlang R15B01.<br><br>The brokers here are play, play2 and util. I have a set of queues mirrored on all the brokers, including a durable queue called &#39;unit_test&#39;.<br>
<br>Using the management UI, I publish some dummy messages to unit_test and verify that they show up in the queue, and that the queue is synched on all nodes.<br><br>I then take down the play node and start it back up. Afterwards, I force everything to be synchronized by doing a management API &#39;get messages&quot; with requeue=True. When this completes, everything shows up synched as expected.<br>
<br>I then bring down play2 and start it back up. Immediately after it starts, the unit_test disappears. Interestingly, none of the other (empty) queues disappear - Only the unit_test queue.<br><br>I have the following from rabbit@play.log file:<br>
<br>=ERROR REPORT==== 22-Aug-2012::14:42:42 ===<br>** Generic server &lt;0.278.0&gt; terminating<br>** Last message in was {&#39;$gen_cast&#39;,{gm,{length,4}}}<br>** When Server state == {state,<br>������������������������ {amqqueue,<br>
������������������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>������������������������� true,false,none,<br>������������������������� [{&lt;&lt;&quot;x-ha-policy&quot;&gt;&gt;,longstr,&lt;&lt;&quot;all&quot;&gt;&gt;}],<br>
������������������������� &lt;3299.4430.0&gt;,<br>������������������������� [&lt;3298.2580.0&gt;],<br>������������������������� all},<br>������������������������ &lt;0.280.0&gt;,&lt;3299.4430.0&gt;,rabbit_variable_queue,<br>
������������������������ {vqstate,<br>������������������������� {0,{[],[]}},<br>������������������������� {0,{[],[]}},<br>������������������������� {delta,undefined,0,undefined},<br>������������������������� {0,{[],[]}},<br>
������������������������� {0,{[],[]}},<br>������������������������� 0,<br>������������������������� {0,nil},<br>������������������������� undefined,<br>������������������������� {0,nil},<br>������������������������� {qistate,<br>
�������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/queues/5CPQWZ6GS6L07B10CDNMTM42C&quot;,<br>�������������������������� {{dict,0,16,16,8,80,48,<br>���������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>
���������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>������������������������������ []}}},<br>��������������������������� []},<br>�������������������������� undefined,0,262144,<br>�������������������������� #Fun&lt;rabbit_variable_queue.2.121033067&gt;,<br>
�������������������������� {0,nil}},<br>������������������������� {{client_msstate,msg_store_persistent,<br>��������������������������� &lt;&lt;3,210,105,14,156,98,212,28,20,242,100,176,253,<br>����������������������������� 212,5,205&gt;&gt;,<br>
��������������������������� {dict,0,16,16,8,80,48,<br>���������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>���������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>������������������������������ []}}},<br>
��������������������������� {state,327753,<br>���������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_persistent&quot;},<br>��������������������������� rabbit_msg_store_ets_index,<br>��������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_persistent&quot;,<br>
��������������������������� &lt;0.264.0&gt;,331850,323656,335947,340044},<br>�������������������������� {client_msstate,msg_store_transient,<br>��������������������������� &lt;&lt;178,59,10,119,58,171,186,219,211,141,219,166,46,<br>
����������������������������� 89,222,107&gt;&gt;,<br>��������������������������� {dict,0,16,16,8,80,48,<br>���������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>���������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>
������������������������������ []}}},<br>��������������������������� {state,307268,<br>���������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_transient&quot;},<br>��������������������������� rabbit_msg_store_ets_index,<br>
��������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_transient&quot;,<br>��������������������������� &lt;0.259.0&gt;,311365,303166,315462,319559}},<br>������������������������� true,0,#Fun&lt;rabbit_mirror_queue_slave.1.52898136&gt;,0,<br>
������������������������� 0,infinity,0,0,0,0,0,<br>������������������������� {rates,<br>�������������������������� {{1345,671562,425012},0},<br>�������������������������� {{1345,671562,425012},0},<br>�������������������������� 0.0,0.0,<br>
�������������������������� {1345,671606,221014}},<br>������������������������� {0,nil},<br>������������������������� {0,nil},<br>������������������������� {0,nil},<br>������������������������� {0,nil},<br>������������������������� 0,0,<br>
������������������������� {rates,<br>�������������������������� {{1345,671562,425012},0},<br>�������������������������� {{1345,671562,425012},0},<br>�������������������������� 0.0,0.0,<br>�������������������������� {1345,671606,221014}}},<br>
������������������������ undefined,#Ref&lt;0.0.0.8008&gt;,<br>������������������������ {dict,0,16,16,8,80,48,<br>������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>
������������������������ {dict,0,16,16,8,80,48,<br>������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>������������������������ 0,<br>
������������������������ {dict,0,16,16,8,80,48,<br>������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>������������������������ {dict,0,16,16,8,80,48,<br>
������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>������������������������ true}<br>** Reason for termination == <br>
** {function_clause,<br>������ [{rabbit_mirror_queue_slave,set_synchronised,<br>����������� [false,<br>������������ {state,<br>���������������� {amqqueue,<br>�������������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>
�������������������� true,false,none,<br>�������������������� [{&lt;&lt;&quot;x-ha-policy&quot;&gt;&gt;,longstr,&lt;&lt;&quot;all&quot;&gt;&gt;}],<br>�������������������� &lt;3299.4430.0&gt;,<br>�������������������� [&lt;3298.2580.0&gt;],<br>
�������������������� all},<br>���������������� &lt;0.280.0&gt;,&lt;3299.4430.0&gt;,rabbit_variable_queue,<br>���������������� {vqstate,<br>�������������������� {0,{[],[]}},<br>�������������������� {0,{[],[]}},<br>�������������������� {delta,undefined,0,undefined},<br>
�������������������� {0,{[],[]}},<br>�������������������� {0,{[],[]}},<br>�������������������� 0,<br>�������������������� {0,nil},<br>�������������������� undefined,<br>�������������������� {0,nil},<br>�������������������� {qistate,<br>
������������������������ &quot;/home/mpietrek/work/var/lib/rabbit@play/queues/5CPQWZ6GS6L07B10CDNMTM42C&quot;,<br>������������������������ {{dict,0,16,16,8,80,48,<br>����������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>
������������������������������ []},<br>����������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>������������������������������� []}}},<br>������������������������� []},<br>������������������������ undefined,0,262144,<br>
������������������������ #Fun&lt;rabbit_variable_queue.2.121033067&gt;,<br>������������������������ {0,nil}},<br>�������������������� {{client_msstate,msg_store_persistent,<br>������������������������� &lt;&lt;3,210,105,14,156,98,212,28,20,242,100,176,253,212,<br>
��������������������������� 5,205&gt;&gt;,<br>������������������������� {dict,0,16,16,8,80,48,<br>����������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>������������������������������ []},<br>����������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>
������������������������������� []}}},<br>������������������������� {state,327753,<br>����������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_persistent&quot;},<br>������������������������� rabbit_msg_store_ets_index,<br>
������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_persistent&quot;,<br>������������������������� &lt;0.264.0&gt;,331850,323656,335947,340044},<br>��������������������� {client_msstate,msg_store_transient,<br>
������������������������� &lt;&lt;178,59,10,119,58,171,186,219,211,141,219,166,46,89,<br>��������������������������� 222,107&gt;&gt;,<br>������������������������� {dict,0,16,16,8,80,48,<br>����������������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>
������������������������������ []},<br>����������������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],<br>������������������������������� []}}},<br>������������������������� {state,307268,<br>����������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_transient&quot;},<br>
������������������������� rabbit_msg_store_ets_index,<br>������������������������� &quot;/home/mpietrek/work/var/lib/rabbit@play/msg_store_transient&quot;,<br>������������������������� &lt;0.259.0&gt;,311365,303166,315462,319559}},<br>
�������������������� true,0,#Fun&lt;rabbit_mirror_queue_slave.1.52898136&gt;,0,0,<br>�������������������� infinity,0,0,0,0,0,<br>�������������������� {rates,<br>������������������������ {{1345,671562,425012},0},<br>������������������������ {{1345,671562,425012},0},<br>
������������������������ 0.0,0.0,<br>������������������������ {1345,671606,221014}},<br>�������������������� {0,nil},<br>�������������������� {0,nil},<br>�������������������� {0,nil},<br>�������������������� {0,nil},<br>�������������������� 0,0,<br>
�������������������� {rates,<br>������������������������ {{1345,671562,425012},0},<br>������������������������ {{1345,671562,425012},0},<br>������������������������ 0.0,0.0,<br>������������������������ {1345,671606,221014}}},<br>
���������������� undefined,#Ref&lt;0.0.0.8008&gt;,<br>���������������� {dict,0,16,16,8,80,48,<br>�������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>�������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>
���������������� {dict,0,16,16,8,80,48,<br>�������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>�������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>���������������� 0,<br>���������������� {dict,0,16,16,8,80,48,<br>
�������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>�������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>���������������� {dict,0,16,16,8,80,48,<br>�������������������� {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},<br>
�������������������� {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},<br>���������������� true}],<br>����������� []},<br>������� {rabbit_mirror_queue_slave,process_instruction,2,[]},<br>������� {rabbit_mirror_queue_slave,handle_cast,2,[]},<br>
������� {gen_server2,handle_msg,2,[]},<br>������� {proc_lib,wake_up,3,[{file,&quot;proc_lib.erl&quot;},{line,237}]}]}<br><br>=INFO REPORT==== 22-Aug-2012::14:42:42 ===<br>rabbit on node rabbit@play2 up<br>--------<br>On play2, the console spew includes this:<br>
<br>Mnesia(rabbit@play2): write performed by {tid,3817,&lt;3297.298.0&gt;} on record:<br>������� {gm_group,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;system_test&quot;&gt;&gt;},<br>����������������� 83,<br>
����������������� [{70,&lt;3299.289.0&gt;},{79,&lt;3297.298.0&gt;},{82,&lt;0.295.0&gt;}]}<br>Mnesia(rabbit@play2): write performed by {tid,3817,&lt;0.277.0&gt;} on record:<br>������� {gm_group,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>
����������������� 10,<br>����������������� [{12,&lt;3299.4432.0&gt;},{7,&lt;0.277.0&gt;}]}<br>done<br>-- message delivery logic ready<br>starting error log relay��������������������������������������������� ...Mnesia(rabbit@play2): Restarting transaction {tid,3818,&lt;0.165.0&gt;}: in 8ms {cyclic,rabbit@play2,{rabbit_queue,{resource,&lt;&lt;47&gt;&gt;,queue,&lt;&lt;117,110,105,116,95,116,101,115,116&gt;&gt;}},read,read,{tid,3816,&lt;3297.184.0&gt;}}<br>
done<br>starting networking�������������������������������������������������� ...Mnesia(rabbit@play2): delete_object performed by {tid,3816,&lt;3297.184.0&gt;} on record:<br>������� {rabbit_reverse_route,<br>����������� {reverse_binding,<br>
��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>��������������� &lt;&lt;&quot;unit_test&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>
��������������� []},<br>����������� const}<br>Mnesia(rabbit@play2): delete_object performed by {tid,3816,&lt;3297.184.0&gt;} on record:<br>������� {rabbit_route,{binding,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,exchange,&lt;&lt;&gt;&gt;},<br>
������������������������������ &lt;&lt;&quot;unit_test&quot;&gt;&gt;,<br>������������������������������ {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>������������������������������ []},<br>
��������������������� const}<br>Mnesia(rabbit@play2): delete performed by {tid,3816,&lt;3297.184.0&gt;} on record:<br>������� {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;}}<br>
Mnesia(rabbit@play2): delete_object performed by {tid,3816,&lt;3297.184.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;unit_test&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>��������������� []},<br>����������� const}<br>Mnesia(rabbit@play2): delete_object performed by {tid,3816,&lt;3297.184.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;unit_test&quot;&gt;&gt;,<br>��������������� {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>
��������������� []},<br>����������� const}<br>Mnesia(rabbit@play2): delete performed by {tid,3816,&lt;3297.184.0&gt;} on record:<br>������� {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;}}<br>
Mnesia(rabbit@play2): write performed by {dirty,&lt;0.301.0&gt;} on record:<br>������� {rabbit_listener,rabbit@play2,amqp,<br>������������������������ &quot;<a href="http://play2.mpietrek.internal.illumita.com">play2.mpietrek.internal.illumita.com</a>&quot;,<br>
������������������������ {0,0,0,0},<br>������������������������ 5672}<br>done<br>starting direct client����������������������������������������������� ...done<br>starting notify cluster nodes���������������������������������������� ...done<br>
<br>broker running<br>Mnesia(rabbit@play2): write performed by {tid,3820,&lt;3299.4432.0&gt;} on record:<br>������� {gm_group,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>����������������� 11,<br>
����������������� [{12,&lt;3299.4432.0&gt;},{dead,{7,&lt;0.277.0&gt;}}]}<br>Mnesia(rabbit@play2): write performed by {tid,3821,&lt;3299.4432.0&gt;} on record:<br>������� {gm_group,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;unit_test&quot;&gt;&gt;},<br>
����������������� 12,<br>����������������� [{12,&lt;3299.4432.0&gt;}]}<br>Mnesia(rabbit@play2): Transaction log dump initiated by time_threshold: {needs_dump,47}<br>Mnesia(rabbit@play2): Transaction log dump initiated by time_threshold: already_dumped<br>
<br>