We have a 3 node cluster running 2.8.4 supporting a small number of HA queues. During a controlled shutdown, we bring down each broker (play, play2, util) in sequence using something along the lines of<br><br>rabbitmqctl stop &lt;pidfile&gt;<br>
<br>The first two brokers shut down without incident. The last shutdown gets stuck and never finishes.<br><br>I see the beam.smp processes running for both the broker and rabbitmqctl instance.<br><br>The log file has the following:<br>
<br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>rabbit on node rabbit@play2 down<br><br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>Mirrored-queue (queue &#39;unit_test&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.271.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.296.0&gt; <br>
<br>=ERROR REPORT==== 16-Jul-2012::13:06:19 ===<br>** Generic server rabbit_node_monitor terminating <br>** Last message in was {&#39;DOWN&#39;,#Ref&lt;0.0.0.1578&gt;,process,<br>                               {rabbit,rabbit@play2},<br>
                               normal}<br>** When Server state == [rabbit@play2]<br>** Reason for termination == <br>** {bad_return_value,<br>       {error,<br>           {badarg,<br>               [{erlang,is_process_alive,[&lt;3173.371.0&gt;]},<br>
                {rabbit_amqqueue,&#39;-on_node_down/1-fun-1-&#39;,8},<br>                {qlc,collect,1},<br>                {qlc,eval,2},<br>                {rabbit_amqqueue,&#39;-on_node_down/1-fun-16-&#39;,1},<br>                {mnesia_tm,apply_fun,3},<br>
                {mnesia_tm,execute_transaction,5},<br>                {rabbit_misc,&#39;-execute_mnesia_transaction/1-fun-0-&#39;,1}]}}}<br><br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>Mirrored-queue (queue &#39;fake_munger_queue&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.270.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.287.0&gt; <br>
<br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>Mirrored-queue (queue &#39;random&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.269.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.278.0&gt; <br><br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>
Mirrored-queue (queue &#39;charon&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.276.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.291.0&gt; <br><br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>Mirrored-queue (queue &#39;ConfigurationManager&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.275.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.289.0&gt; <br>
<br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>Mirrored-queue (queue &#39;fake_service_2&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.272.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.275.0&gt; <br><br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>
Mirrored-queue (queue &#39;system_test&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.277.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.293.0&gt; <br><br>=INFO REPORT==== 16-Jul-2012::13:06:19 ===<br>Mirrored-queue (queue &#39;fake_configmgr&#39; in vhost &#39;/&#39;): Master &lt;rabbit@play.2.273.0&gt; saw deaths of mirrors &lt;rabbit@play2.3.281.0&gt; <br>
<br>=INFO REPORT==== 16-Jul-2012::13:06:32 ===<br>    application: rabbitmq_tracing<br>    exited: stopped<br>    type: permanent<br><br>=INFO REPORT==== 16-Jul-2012::13:06:32 ===<br>Stopping Rabbit<br><br>--------<br><br>
Since I&#39;ve turned on Mnesia logging, the rabbitmq-server console spew is:<br><br>Mnesia(rabbit@play): Logging mnesia_down rabbit@play2<br>Mnesia(rabbit@play): Got mnesia_down from rabbit@play2, reconfiguring...<br>Mnesia(rabbit@play): Transaction {tid,1786,&lt;0.176.0&gt;} calling #Fun&lt;rabbit_mirror_queue_misc.0.102623438&gt; with [] failed: <br>
 {bad_commit,rabbit@play2}<br>Mnesia(rabbit@play): Restarting transaction {tid,1786,&lt;0.176.0&gt;}: in 2ms {bad_commit,rabbit@play2}<br>Mnesia(rabbit@play): Transaction {tid,1785,&lt;0.175.0&gt;} calling #Fun&lt;rabbit_mirror_queue_misc.0.102623438&gt; with [] failed: <br>
 {bad_commit,rabbit@play2}<br>Mnesia(rabbit@play): Restarting transaction {tid,1785,&lt;0.175.0&gt;}: in 2ms {bad_commit,rabbit@play2}<br>Mnesia(rabbit@play): write performed by {tid,1787,&lt;0.176.0&gt;} on record:<br>        {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;fake_service_2&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;0.272.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1787,&lt;0.176.0&gt;} on record:<br>
        {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;fake_service_2&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;0.272.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1788,&lt;0.176.0&gt;} on record:<br>        {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;fake_queue&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;0.270.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1788,&lt;0.176.0&gt;} on record:<br>
        {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;fake_queue&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;0.270.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1789,&lt;0.175.0&gt;} on record:<br>        {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;CM&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;0.275.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1789,&lt;0.175.0&gt;} on record:<br>
        {rabbit_durable_queue,<br>            {resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;CM&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;0.275.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1790,&lt;0.175.0&gt;} on record:<br>        {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;cha&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;0.276.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1790,&lt;0.175.0&gt;} on record:<br>
        {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;cha&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;0.276.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1791,&lt;0.175.0&gt;} on record:<br>        {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;random&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;0.269.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1791,&lt;0.175.0&gt;} on record:<br>
        {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;random&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;0.269.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1793,&lt;0.175.0&gt;} on record:<br>        {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;system_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;0.277.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1793,&lt;0.175.0&gt;} on record:<br>
        {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;system_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;0.277.0&gt;,[],all}<br>Mnesia(rabbit@play): Transaction {tid,1794,&lt;0.175.0&gt;} calling #Fun&lt;rabbit_amqqueue.22.63484291&gt; with [] failed: <br> {badarg,[{erlang,is_process_alive,[&lt;3173.371.0&gt;]},<br>
          {rabbit_amqqueue,&#39;-on_node_down/1-fun-1-&#39;,8},<br>          {qlc,collect,1},<br>          {qlc,eval,2},<br>          {rabbit_amqqueue,&#39;-on_node_down/1-fun-16-&#39;,1},<br>          {mnesia_tm,apply_fun,3},<br>
          {mnesia_tm,execute_transaction,5},<br>          {rabbit_misc,&#39;-execute_mnesia_transaction/1-fun-0-&#39;,1}]}<br>Mnesia(rabbit@play): write performed by {tid,1792,&lt;0.176.0&gt;} on record:<br>        {rabbit_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;fake_CM&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;0.273.0&gt;,[],all}<br>Mnesia(rabbit@play): write performed by {tid,1792,&lt;0.176.0&gt;} on record:<br>
        {rabbit_durable_queue,{resource,&lt;&lt;&quot;/&quot;&gt;&gt;,queue,&lt;&lt;&quot;fake_CM&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;0.273.0&gt;,[],all}<br>Mnesia(rabbit@play): Transaction log dump initiated by time_threshold: {needs_dump,45}<br>Mnesia(rabbit@play): Transaction log dump initiated by time_threshold: already_dumped<br>
<br>