diff options
author | kjnilsson <knilsson@pivotal.io> | 2021-01-13 10:40:44 +0000 |
---|---|---|
committer | kjnilsson <knilsson@pivotal.io> | 2021-01-13 10:40:44 +0000 |
commit | 61de203fc54b1138fab44fd324bc7dca434cfc88 (patch) | |
tree | 3be76ac2f3c1330dc33de337badd70eb80d850d3 | |
parent | 9b8d38d2b964febb589c2fca780bcff68311dd02 (diff) | |
download | rabbitmq-server-git-update-retention.tar.gz |
Remove use of non-deterministic functionupdate-retention
Inside stream coordinator.
-rw-r--r-- | deps/rabbit/src/rabbit_stream_coordinator.erl | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/deps/rabbit/src/rabbit_stream_coordinator.erl b/deps/rabbit/src/rabbit_stream_coordinator.erl index f66198edf0..6ae819171a 100644 --- a/deps/rabbit/src/rabbit_stream_coordinator.erl +++ b/deps/rabbit/src/rabbit_stream_coordinator.erl @@ -456,7 +456,7 @@ apply(_Meta, {down, Pid, _Reason} = Cmd, #?MODULE{streams = Streams, streams = Streams#{StreamId => SState}}, ok, Events ++ [{aux, {phase, StreamId, Phase, PhaseArgs}}]}; follower -> - case rabbit_misc:is_process_alive(maps:get(leader_pid, Conf0)) of + case maps:is_key(maps:get(leader_pid, Conf0), Monitors) of true -> Phase = phase_start_replica, PhaseArgs = [node(Pid), Conf0, 1], @@ -466,11 +466,13 @@ apply(_Meta, {down, Pid, _Reason} = Cmd, #?MODULE{streams = Streams, SState0), rabbit_log:debug("rabbit_stream_coordinator: ~p replica on node ~p is down, entering ~p", [StreamId, node(Pid), Phase]), {State#?MODULE{monitors = Monitors, - streams = Streams#{StreamId => SState}}, + streams = Streams#{StreamId => SState}}, ok, [{aux, {phase, StreamId, Phase, PhaseArgs}}]}; false -> SState = SState0#{pending_cmds => Pending0 ++ [Cmd]}, - reply_and_run_pending(undefined, StreamId, ok, ok, [], State#?MODULE{streams = Streams#{StreamId => SState}}) + reply_and_run_pending(undefined, StreamId, ok, ok, [], + State#?MODULE{monitors = Monitors, + streams = Streams#{StreamId => SState}}) end end; #{pending_cmds := Pending0} = SState0 -> |