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>