summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_feature_flags.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit_feature_flags.erl b/src/rabbit_feature_flags.erl
index cf2715a724..e0fb3a2fe1 100644
--- a/src/rabbit_feature_flags.erl
+++ b/src/rabbit_feature_flags.erl
@@ -1695,7 +1695,6 @@ mark_as_enabled_remotely(Nodes, FeatureName, IsEnabled, Timeout) ->
"nodes", [FeatureName, IsEnabled]),
ok;
_ ->
- T1 = erlang:timestamp(),
rabbit_log_feature_flags:error(
"Feature flags: failed to mark feature flag `~s` as enabled=~p "
"on the following nodes:", [FeatureName, IsEnabled]),
@@ -1704,12 +1703,17 @@ mark_as_enabled_remotely(Nodes, FeatureName, IsEnabled, Timeout) ->
[Node, Ret])
|| {Node, Ret} <- Rets,
Ret =/= ok],
- NewTimeout = Timeout - (timer:now_diff(T1, T0) div 1000),
+ Sleep = 1000,
+ T1 = erlang:timestamp(),
+ Duration = timer:now_diff(T1, T0),
+ NewTimeout = (Timeout * 1000 - Duration) div 1000 - Sleep,
if
NewTimeout > 0 ->
rabbit_log_feature_flags:debug(
"Feature flags: retrying with a timeout of ~b "
- "milliseconds", [NewTimeout]),
+ "ms after sleeping for ~b ms",
+ [NewTimeout, Sleep]),
+ timer:sleep(Sleep),
mark_as_enabled_remotely(FailedNodes,
FeatureName,
IsEnabled,