summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-06-25 17:19:05 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-06-25 17:19:05 +0100
commit911853812f4875be87ce1d3c87f24cd40c4e0398 (patch)
tree604bdf3b12787916a8500021eb23f8b3c4358666
parent19cb51475cfc9531ae976f62875f8f386b599835 (diff)
downloadrabbitmq-server-911853812f4875be87ce1d3c87f24cd40c4e0398.tar.gz
OK, we do actually need a special way to determine the difference between:
leave the group -> normal node shutting down -> shutdown queue deletion -> {shutdown, do_not_heal}
-rw-r--r--src/gm.erl2
-rw-r--r--src/rabbit_mirror_queue_coordinator.erl2
-rw-r--r--src/rabbit_mirror_queue_slave.erl2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/gm.erl b/src/gm.erl
index b06a99e8..9d7bed8c 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -664,7 +664,7 @@ handle_info({'DOWN', MRef, process, _Pid, Reason},
case {Member, Reason} of
{undefined, _} ->
noreply(State);
- {_, shutdown} ->
+ {_, {shutdown, do_not_heal}} ->
noreply(State);
_ ->
View1 =
diff --git a/src/rabbit_mirror_queue_coordinator.erl b/src/rabbit_mirror_queue_coordinator.erl
index 64756719..8d2531e6 100644
--- a/src/rabbit_mirror_queue_coordinator.erl
+++ b/src/rabbit_mirror_queue_coordinator.erl
@@ -407,7 +407,7 @@ handle_msg([CPid], _From, {ensure_monitoring, _Pids} = Msg) ->
ok = gen_server2:cast(CPid, Msg);
handle_msg([CPid], _From, {delete_and_terminate, _Reason} = Msg) ->
ok = gen_server2:cast(CPid, Msg),
- {stop, shutdown};
+ {stop, {shutdown, do_not_heal}};
handle_msg([_CPid], _From, _Msg) ->
ok.
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 481897e6..4bef2b7d 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -353,7 +353,7 @@ handle_msg([SPid], _From, {process_death, Pid}) ->
inform_deaths(SPid, [Pid]);
handle_msg([CPid], _From, {delete_and_terminate, _Reason} = Msg) ->
ok = gen_server2:cast(CPid, {gm, Msg}),
- {stop, shutdown};
+ {stop, {shutdown, do_not_heal}};
handle_msg([SPid], _From, Msg) ->
ok = gen_server2:cast(SPid, {gm, Msg}).