summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <klishinm@vmware.com>2021-11-13 04:28:39 +0300
committerGitHub <noreply@github.com>2021-11-13 04:28:39 +0300
commit98f9b126af8dbb7a625e02c0f0adfe3fc6b0ff92 (patch)
tree232c273c09d062911c8e8744cf309398adaa9e51
parent983afafdeeda936353c2727f0cea0baaac8afa48 (diff)
parent7e4a33708b1c3b05c4282136b4eb81113628e5a8 (diff)
downloadrabbitmq-server-git-98f9b126af8dbb7a625e02c0f0adfe3fc6b0ff92.tar.gz
Merge pull request #3716 from rabbitmq/stream-coordinator-delete-stream-fix
Stream coordinator: reset reply_to for delete_stream command
-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 10eccefd5f..54a0e7be09 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},