Skip to content

Commit f976943

Browse files
Merge pull request #11905 from rabbitmq/mergify/bp/v3.13.x/pr-11902
Classic peer discovery: node list warnings (backport #11898) (backport #11902)
2 parents f46f6f5 + 2680e7c commit f976943

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

deps/rabbit/src/rabbit_peer_discovery_classic_config.erl

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@
2323
list_nodes() ->
2424
case application:get_env(rabbit, cluster_nodes, {[], disc}) of
2525
{Nodes, NodeType} ->
26+
check_local_node(Nodes),
27+
check_duplicates(Nodes),
2628
{ok, {add_this_node(Nodes), NodeType}};
2729
Nodes when is_list(Nodes) ->
30+
check_local_node(Nodes),
31+
check_duplicates(Nodes),
2832
{ok, {add_this_node(Nodes), disc}}
2933
end.
3034

@@ -35,6 +39,26 @@ add_this_node(Nodes) ->
3539
false -> [ThisNode | Nodes]
3640
end.
3741

42+
check_duplicates(Nodes) ->
43+
case (length(lists:usort(Nodes)) == length(Nodes)) of
44+
true ->
45+
ok;
46+
false ->
47+
rabbit_log:warning("Classic peer discovery backend: list of "
48+
"nodes contains duplicates ~0tp",
49+
[Nodes])
50+
end.
51+
52+
check_local_node(Nodes) ->
53+
case lists:member(node(), Nodes) of
54+
true ->
55+
ok;
56+
false ->
57+
rabbit_log:warning("Classic peer discovery backend: list of "
58+
"nodes does not contain the local node ~0tp",
59+
[Nodes])
60+
end.
61+
3862
-spec lock(Nodes :: [node()]) ->
3963
{ok, {{ResourceId :: string(), LockRequesterId :: node()}, Nodes :: [node()]}} |
4064
{error, Reason :: string()}.

0 commit comments

Comments
 (0)