summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-12-09 10:32:11 +0000
committerSimon MacMullen <simon@rabbitmq.com>2014-12-09 10:32:11 +0000
commitf03dc16d0c80ae361dab299afd2bccf9b4f3d9ab (patch)
tree7a2c3bf0b8210b9f7cb6744625ce8486560caeef
parentd9a8e4e9bbfac380cd5f4053c483d2acdaaf3344 (diff)
downloadrabbitmq-server-f03dc16d0c80ae361dab299afd2bccf9b4f3d9ab.tar.gz
Fail clearly if the node specified with '-n' is not a member of the cluster before or after.
-rw-r--r--src/rabbit_mnesia_rename.erl10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rabbit_mnesia_rename.erl b/src/rabbit_mnesia_rename.erl
index d93f8ea3..9ef8aedd 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(),