Skip to content

Commit f53e504

Browse files
Merge pull request #10073 from rabbitmq/peer-discovery-followup-improvements
Peer discovery core logic rewrite follow-up improvements
2 parents ad5707f + 91d0677 commit f53e504

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed

deps/rabbit/src/rabbit_mnesia.erl

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ init() ->
117117
%% Peer discovery may have been a no-op if it decided that all other nodes
118118
%% should join this one. Therefore, we need to look at if this node is
119119
%% still virgin and finish our init of Mnesia accordingly. In particular,
120-
%% this second part crates all our Mnesia tables.
120+
%% this second part creates all our Mnesia tables.
121121
case is_virgin_node() of
122122
true ->
123123
init_db_and_upgrade([node()], disc, true, _Retry = true);

deps/rabbit/src/rabbit_peer_discovery.erl

+19-10
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ lock_acquisition_failure_mode() ->
9797

9898
maybe_init() ->
9999
Backend = backend(),
100-
?LOG_DEBUG(
100+
?LOG_INFO(
101101
"Peer discovery: configured backend: ~tp",
102102
[Backend],
103103
#{domain => ?RMQLOG_DOMAIN_PEER_DISC}),
@@ -387,9 +387,11 @@ query_node_props(Nodes) when Nodes =/= [] ->
387387
"discovered peers properties",
388388
[Peer],
389389
#{domain => ?RMQLOG_DOMAIN_PEER_DISC}),
390-
Ret = erpc:call(Peer, ?MODULE, do_query_node_props, [Nodes]),
391-
peer:stop(Pid),
392-
Ret;
390+
try
391+
erpc:call(Peer, ?MODULE, do_query_node_props, [Nodes])
392+
after
393+
peer:stop(Pid)
394+
end;
393395
{error, _} = Error ->
394396
?LOG_ERROR(
395397
"Peer discovery: failed to start temporary hidden node to "
@@ -448,10 +450,12 @@ do_query_node_props(Nodes) when Nodes =/= [] ->
448450

449451
with_group_leader_proxy(ProxyGroupLeader, Fun) ->
450452
UpstreamGroupLeader = erlang:group_leader(),
451-
true = erlang:group_leader(ProxyGroupLeader, self()),
452-
Ret = Fun(),
453-
true = erlang:group_leader(UpstreamGroupLeader, self()),
454-
Ret.
453+
try
454+
true = erlang:group_leader(ProxyGroupLeader, self()),
455+
Fun()
456+
after
457+
true = erlang:group_leader(UpstreamGroupLeader, self())
458+
end.
455459

456460
group_leader_proxy(Parent, UpstreamGroupLeader) ->
457461
receive
@@ -511,7 +515,12 @@ query_node_props2([], NodesAndProps, ProxyGroupLeader) ->
511515
NodesAndProps2 = sort_nodes_and_props(NodesAndProps1),
512516
%% Wait for the proxy group leader to flush its inbox.
513517
ProxyGroupLeader ! stop_proxy,
514-
receive proxy_stopped -> ok end,
518+
receive
519+
proxy_stopped ->
520+
ok
521+
after 120_000 ->
522+
ok
523+
end,
515524
NodesAndProps2.
516525

517526
-spec get_node_start_time(Node, Unit, ProxyGroupLeader) -> StartTime when
@@ -678,7 +687,7 @@ can_use_discovered_nodes(DiscoveredNodes, NodesAndProps)
678687

679688
ThisNodeIsIncluded andalso HasEnoughNodes;
680689
can_use_discovered_nodes(_DiscoveredNodes, []) ->
681-
?LOG_DEBUG(
690+
?LOG_INFO(
682691
"Peer discovery: discovered no peer nodes to cluster with. "
683692
"Some discovery backends can filter nodes out based on a "
684693
"readiness criteria. "

0 commit comments

Comments
 (0)