summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <klishinm@vmware.com>2021-11-13 15:49:11 +0300
committerGitHub <noreply@github.com>2021-11-13 15:49:11 +0300
commit8e1582b84a7344008eddf618f6866756bc3ab004 (patch)
treea5bfd41137332609642fd4a3b9e91dcd3f3ed0ec
parentb8c8eba78f61e2f290b3a79e4f4f918c71a3b9ea (diff)
parent8c80d6cecebae6a336a443385d0375feb87ec514 (diff)
downloadrabbitmq-server-git-8e1582b84a7344008eddf618f6866756bc3ab004.tar.gz
Merge pull request #3718 from rabbitmq/mergify/bp/v3.9.x/pr-3716
Stream coordinator: reset reply_to for delete_stream command (backport #3716)
-rw-r--r--deps/rabbit/src/rabbit_stream_coordinator.erl11
1 files changed, 4 insertions, 7 deletions
diff --git a/deps/rabbit/src/rabbit_stream_coordinator.erl b/deps/rabbit/src/rabbit_stream_coordinator.erl
index 4a689d2df8..f8f34f4a77 100644
--- a/deps/rabbit/src/rabbit_stream_coordinator.erl
+++ b/deps/rabbit/src/rabbit_stream_coordinator.erl
@@ -922,7 +922,9 @@ update_stream0(#{system_time := _Ts} = _Meta,
M#member{target = deleted}
end, Members0),
Stream0#stream{members = Members,
- % reply_to = maps:get(from, Meta, undefined),
+ %% reset reply_to here to ensure a reply
+ %% is returned as the command has been accepted
+ reply_to = undefined,
target = deleted};
update_stream0(#{system_time := _Ts} = _Meta,
{add_replica, _StreamId, #{node := Node}},
@@ -1260,12 +1262,7 @@ evaluate_stream(#{index := Idx} = Meta,
Action = {aux, {delete_member, StreamId, LeaderNode,
make_writer_conf(Writer0, Stream0)}},
Writer = Writer0#member{current = {deleting, Idx}},
- Effs = case From of
- undefined ->
- [Action | Effs0];
- _ ->
- wrap_reply(From, {ok, 0}) ++ [Action | Effs0]
- end,
+ Effs = [Action | Effs0],
Stream = Stream0#stream{reply_to = undefined},
eval_replicas(Meta, Writer, Replicas, Stream, Effs);
{#member{state = {down, Epoch},