diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2014-12-09 10:32:11 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2014-12-09 10:32:11 +0000 |
| commit | d2ffd3f4c648e84fef952d1fce6ecec8def29b0a (patch) | |
| tree | 8a390fd5165e8d095eda9d0f24a78872b9ec69e9 /src | |
| parent | 8dc3e8488300e94d62152ca3d5ab72f5e63a4cb2 (diff) | |
| download | rabbitmq-server-git-d2ffd3f4c648e84fef952d1fce6ecec8def29b0a.tar.gz | |
Fail clearly if the node specified with '-n' is not a member of the cluster before or after.
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_mnesia_rename.erl | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rabbit_mnesia_rename.erl b/src/rabbit_mnesia_rename.erl index d93f8ea322..9ef8aedd2f 100644 --- a/src/rabbit_mnesia_rename.erl +++ b/src/rabbit_mnesia_rename.erl @@ -53,10 +53,12 @@ rename(Node, NodeMapList) -> rabbit_control_main:become(FromNode), start_mnesia(), Nodes = rabbit_mnesia:cluster_nodes(all), - case {FromNodes -- Nodes, ToNodes -- (ToNodes -- Nodes)} of - {[], []} -> ok; - {F, []} -> exit({nodes_not_in_cluster, F}); - {_, T} -> exit({nodes_already_in_cluster, T}) + case {FromNodes -- Nodes, ToNodes -- (ToNodes -- Nodes), + lists:member(Node, Nodes ++ ToNodes)} of + {[], [], true} -> ok; + {[], [], false} -> exit({i_am_not_involved, Node}); + {F, [], _} -> exit({nodes_not_in_cluster, F}); + {_, T, _} -> exit({nodes_already_in_cluster, T}) end, rabbit_table:force_load(), rabbit_table:wait_for_replicated(), |
