diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2011-08-22 14:23:35 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2011-08-22 14:23:35 +0100 |
commit | 38a2d007572eddce69ff237bf3649288042fa44b (patch) | |
tree | 7af986eb870350a1763a9598ff359c0301f3d463 | |
parent | 04a22b6eba57696c4e5abd5048ee698682ae926e (diff) | |
download | rabbitmq-server-38a2d007572eddce69ff237bf3649288042fa44b.tar.gz |
Leave the Erlang distributed system when resetting.
-rw-r--r-- | src/rabbit_mnesia.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index c63c67f4..b340b6f0 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -720,16 +720,16 @@ reset(Force) -> false -> ok end, Node = node(), + Nodes = all_clustered_nodes() -- [Node], case Force of true -> ok; false -> ensure_mnesia_dir(), start_mnesia(), - {Nodes, RunningNodes} = + RunningNodes = try ok = init(), - {all_clustered_nodes() -- [Node], - running_clustered_nodes() -- [Node]} + running_clustered_nodes() -- [Node] after stop_mnesia() end, @@ -737,6 +737,10 @@ reset(Force) -> rabbit_misc:ensure_ok(mnesia:delete_schema([Node]), cannot_delete_schema) end, + %% We need to make sure that we don't end up in a distributed + %% Erlang system with nodes while not being in an Mnesia cluster + %% with them. We don't handle that well. + [erlang:disconnect_node(N) || N <- Nodes], ok = delete_cluster_nodes_config(), %% remove persisted messages and any other garbage we find ok = rabbit_misc:recursive_delete(filelib:wildcard(dir() ++ "/*")), |