diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2014-08-12 11:26:30 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2014-08-12 11:26:30 +0100 |
commit | 97b5a43c2c7b79d8bc46ed3f3990d3b23b1c5a67 (patch) | |
tree | 7a6f6e3e9a43716a0060b5c1241b86f0c38c97f2 | |
parent | 6dfc266d0c5e7c9b13b93fadfe37b8ff44e517df (diff) | |
download | rabbitmq-server-97b5a43c2c7b79d8bc46ed3f3990d3b23b1c5a67.tar.gz |
Improve logging when auto-clustering fails.bug26336
-rw-r--r-- | src/rabbit_mnesia.erl | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index e60388f0..484bff8c 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -133,15 +133,16 @@ init_from_config() -> end. auto_cluster(TryNodes, NodeType) -> - case find_good_node(nodes_excl_me(TryNodes)) of + case find_auto_cluster_node(nodes_excl_me(TryNodes)) of {ok, Node} -> rabbit_log:info("Node '~p' selected for auto-clustering~n", [Node]), {ok, {_, DiscNodes, _}} = discover_cluster0(Node), init_db_and_upgrade(DiscNodes, NodeType, true), rabbit_node_monitor:notify_joined_cluster(); none -> - rabbit_log:warning("Could not find any node for auto-clustering " - "from: ~p~n", [TryNodes]), + rabbit_log:warning( + "Could not find any node for auto-clustering from: ~p~n" + "Starting blank node...~n", [TryNodes]), init_db_and_upgrade([node()], disc, false) end. @@ -792,17 +793,28 @@ is_virgin_node() -> false end. -find_good_node([]) -> +find_auto_cluster_node([]) -> none; -find_good_node([Node | Nodes]) -> +find_auto_cluster_node([Node | Nodes]) -> case rpc:call(Node, rabbit_mnesia, node_info, []) of - {badrpc, _Reason} -> find_good_node(Nodes); + {badrpc, _} = Reason -> + rabbit_log:warning("Could not auto-cluster with ~s: ~p~n~s~n", + [Node, Reason,rabbit_nodes:diagnostics([Node])]), + find_auto_cluster_node(Nodes); %% old delegate hash check - {_OTP, _Rabbit, _Hash, _} -> find_good_node(Nodes); - {OTP, Rabbit, _} -> case check_consistency(OTP, Rabbit) of - {error, _} -> find_good_node(Nodes); - ok -> {ok, Node} - end + {_OTP, Rabbit, _Hash, _} -> + rabbit_log:warning( + "Could not auto-cluster with ~s version ~s~n", + [Node, Rabbit]), + find_auto_cluster_node(Nodes); + {OTP, Rabbit, _} -> + case check_consistency(OTP, Rabbit) of + {error, _} -> rabbit_log:warning( + "Could not auto-cluster with ~s versions ~p~n", + [Node, {OTP, Rabbit}]), + find_auto_cluster_node(Nodes); + ok -> {ok, Node} + end end. is_only_clustered_disc_node() -> |