Skip to content

Commit a5ed9d0

Browse files
Merge pull request #10135 from rabbitmq/lukebakken/fix-peer-start-longnames
Ensure `peer:start/1` takes long names into account
2 parents 75773e6 + d5aaaa9 commit a5ed9d0

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

deps/rabbit/src/rabbit_peer_discovery.erl

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -355,9 +355,8 @@ check_discovered_nodes_list_validity(DiscoveredNodes, BadNodeType)
355355
%% @private
356356

357357
query_node_props(Nodes) when Nodes =/= [] ->
358-
{Prefix, _Suffix} = rabbit_nodes_common:parts(node()),
359-
PeerName = lists:flatten(
360-
io_lib:format("~s-peerdisc-~s", [Prefix, os:getpid()])),
358+
{Prefix, Suffix} = rabbit_nodes_common:parts(node()),
359+
PeerName = peer:random_name(Prefix),
361360
%% We go through a temporary hidden node to query all other discovered
362361
%% peers properties, instead of querying them directly.
363362
%%
@@ -372,15 +371,22 @@ query_node_props(Nodes) when Nodes =/= [] ->
372371
%%
373372
%% By using a temporary intermediate hidden node, we ask Erlang not to
374373
%% connect everyone automatically.
374+
Context = rabbit_prelaunch:get_context(),
375375
VMArgs0 = ["-hidden"],
376-
VMArgs1 = case rabbit_prelaunch:get_context() of
376+
VMArgs1 = case Context of
377377
#{erlang_cookie := ErlangCookie,
378378
var_origins := #{erlang_cookie := environment}} ->
379379
["-setcookie", atom_to_list(ErlangCookie) | VMArgs0];
380380
_ ->
381381
VMArgs0
382382
end,
383-
case peer:start(#{name => PeerName, args => VMArgs1}) of
383+
PeerStartArg = case Context of
384+
#{nodename_type := longnames} ->
385+
#{name => PeerName, host => Suffix, longnames => true, args => VMArgs1};
386+
_ ->
387+
#{name => PeerName, args => VMArgs1}
388+
end,
389+
case peer:start(PeerStartArg) of
384390
{ok, Pid, Peer} ->
385391
?LOG_DEBUG(
386392
"Peer discovery: use temporary hidden node '~ts' to query "

deps/rabbitmq_prelaunch/src/rabbit_prelaunch_dist.erl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ setup(#{nodename := Node, nodename_type := NameType} = Context) ->
1212
"~n== Erlang distribution ==", [],
1313
#{domain => ?RMQLOG_DOMAIN_PRELAUNCH}),
1414
?LOG_DEBUG(
15-
"Rqeuested node name: ~ts (type: ~ts)",
15+
"Requested node name: ~ts (type: ~ts)",
1616
[Node, NameType],
1717
#{domain => ?RMQLOG_DOMAIN_PRELAUNCH}),
1818
case node() of
@@ -149,5 +149,3 @@ set_credentials_obfuscation_secret() ->
149149
credentials_obfuscation_fallback_secret,
150150
<<"nocookie">>),
151151
ok = credentials_obfuscation:set_fallback_secret(Fallback).
152-
153-

0 commit comments

Comments
 (0)