Skip to content

Commit 2af9b09

Browse files
authored
Merge pull request #11646 from rabbitmq/mergify/bp/v3.13.x/pr-11507
Revert "rabbit_feature_flags: Retry after erpc:call() fails with `noconnection`" (backport #11507)
2 parents 01d248f + 5c9dbdf commit 2af9b09

File tree

1 file changed

+0
-23
lines changed

1 file changed

+0
-23
lines changed

deps/rabbit/src/rabbit_ff_controller.erl

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1380,32 +1380,9 @@ this_node_first(Nodes) ->
13801380
Ret :: term() | {error, term()}.
13811381

13821382
rpc_call(Node, Module, Function, Args, Timeout) ->
1383-
SleepBetweenRetries = 5000,
1384-
T0 = erlang:monotonic_time(),
13851383
try
13861384
erpc:call(Node, Module, Function, Args, Timeout)
13871385
catch
1388-
%% In case of `noconnection' with `Timeout'=infinity, we don't retry
1389-
%% at all. This is because the infinity "timeout" is used to run
1390-
%% callbacks on remote node and they can last an indefinite amount of
1391-
%% time, for instance, if there is a lot of data to migrate.
1392-
error:{erpc, noconnection} = Reason
1393-
when is_integer(Timeout) andalso Timeout > SleepBetweenRetries ->
1394-
?LOG_WARNING(
1395-
"Feature flags: no connection to node `~ts`; "
1396-
"retrying in ~b milliseconds",
1397-
[Node, SleepBetweenRetries],
1398-
#{domain => ?RMQLOG_DOMAIN_FEAT_FLAGS}),
1399-
timer:sleep(SleepBetweenRetries),
1400-
T1 = erlang:monotonic_time(),
1401-
TDiff = erlang:convert_time_unit(T1 - T0, native, millisecond),
1402-
Remaining = Timeout - TDiff,
1403-
Timeout1 = erlang:max(Remaining, 0),
1404-
case Timeout1 of
1405-
0 -> {error, Reason};
1406-
_ -> rpc_call(Node, Module, Function, Args, Timeout1)
1407-
end;
1408-
14091386
Class:Reason:Stacktrace ->
14101387
Message0 = erl_error:format_exception(Class, Reason, Stacktrace),
14111388
Message1 = lists:flatten(Message0),

0 commit comments

Comments
 (0)