diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2020-03-20 13:34:55 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2020-03-20 13:34:55 +0300 |
| commit | 2bef03c67d5645b59a941d36a923b0e83fe4873c (patch) | |
| tree | 13100f159fab647e80dca69ee194b2da1dab396b | |
| parent | c998cc4b8ff7ea7430b14322f19dab3de5c13b1d (diff) | |
| download | rabbitmq-server-git-2bef03c67d5645b59a941d36a923b0e83fe4873c.tar.gz | |
Make the list of discovered nodes unique before using it
Backends can return duplicates, sometimes for reasons outside of their
control, e.g. implicit or explicit versioning of values by the data
store they are backed by.
| -rw-r--r-- | src/rabbit_mnesia.erl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index d0ef4d5dc8..b4f6eebbd7 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -142,7 +142,7 @@ run_peer_discovery_with_retries(RetriesLeft, DelayInterval) -> (Name, BadNames) when is_atom(Name) -> BadNames; (Name, BadNames) -> [Name | BadNames] end, - {DiscoveredNodes, NodeType} = + {DiscoveredNodes0, NodeType} = case rabbit_peer_discovery:discover_cluster_nodes() of {error, Reason} -> RetriesLeft1 = RetriesLeft - 1, @@ -161,6 +161,7 @@ run_peer_discovery_with_retries(RetriesLeft, DelayInterval) -> {ok, _} -> e(invalid_cluster_nodes_conf) end, + DiscoveredNodes = lists:usort(DiscoveredNodes0), rabbit_log:info("All discovered existing cluster peers: ~s~n", [rabbit_peer_discovery:format_discovered_nodes(DiscoveredNodes)]), Peers = nodes_excl_me(DiscoveredNodes), |
