Skip to content

Commit c143ddf

Browse files
Merge pull request #11902 from rabbitmq/mergify/bp/v4.0.x/pr-11898
2 parents 48c2046 + b67c65c commit c143ddf

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
@@ -21,8 +21,12 @@
2121
list_nodes() ->
2222
case application:get_env(rabbit, cluster_nodes, {[], disc}) of
2323
{Nodes, NodeType} ->
24+
check_local_node(Nodes),
25+
check_duplicates(Nodes),
2426
{ok, {add_this_node(Nodes), NodeType}};
2527
Nodes when is_list(Nodes) ->
28+
check_local_node(Nodes),
29+
check_duplicates(Nodes),
2630
{ok, {add_this_node(Nodes), disc}}
2731
end.
2832

@@ -33,6 +37,26 @@ add_this_node(Nodes) ->
3337
false -> [ThisNode | Nodes]
3438
end.
3539

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

0 commit comments

Comments
 (0)