summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-10-29 18:08:21 +0000
committerMatthew Sackman <matthew@lshift.net>2009-10-29 18:08:21 +0000
commit5a35aa20b59aad41a95fb1dbd720070584ddc488 (patch)
treed485dd7c63130691c5746bf523c05d3e88b74495
parent5cff5d8bf0cdd8475043dcb53a12ab2e52e66da3 (diff)
downloadrabbitmq-server-bug21831.tar.gz
When clustered, on application:stop, make sure we call on_node_node(node()). This is necessary because application:stop does not constitute a node failure, thus other nodes won't notice. Tested by creating a 2-node cluster, creating durable and non durable queues and checking that they're removed from mnesia tables as appropriate on application:stop on one of the nodes. Of course, even with the application stopped on one node, rabbitmqctl status still reports both nodes in the list of running_nodes. All tests pass.bug21831
-rw-r--r--src/rabbit.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index c66a44a7..29407e4e 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -211,7 +211,7 @@ stop(_State) ->
terminated_ok = error_logger:delete_report_handler(rabbit_error_logger),
ok = rabbit_alarm:stop(),
ok = case rabbit_mnesia:is_clustered() of
- true -> ok;
+ true -> rabbit_amqqueue:on_node_down(node());
false -> rabbit_mnesia:empty_ram_only_tables()
end,
ok.