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 | 39a38ef258f8ea8719b3b0cfb8a269505595e67f (patch) | |
| tree | 7af986eb870350a1763a9598ff359c0301f3d463 | |
| parent | dc32d1fd4bdf67a3c4982e82545f0bd6ab56e299 (diff) | |
| download | rabbitmq-server-git-39a38ef258f8ea8719b3b0cfb8a269505595e67f.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 c63c67f4ea..b340b6f06b 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() ++ "/*")), |
