From bb5f9cb564a2ef3391d901877e73faac88b83521 Mon Sep 17 00:00:00 2001 From: Karl Nilsson Date: Thu, 16 Jan 2025 09:36:23 +0000 Subject: [PATCH] QQ: improve fifo client log message on leader change to capture the number of pending commands that will be resent (cherry picked from commit e7c624dd467628dda0a2e8a2e1209d5df95201e9) --- deps/rabbit/src/rabbit_fifo_client.erl | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/deps/rabbit/src/rabbit_fifo_client.erl b/deps/rabbit/src/rabbit_fifo_client.erl index 97f9c2d3209c..28fb854fde83 100644 --- a/deps/rabbit/src/rabbit_fifo_client.erl +++ b/deps/rabbit/src/rabbit_fifo_client.erl @@ -644,20 +644,24 @@ handle_ra_event(_QName, _, {machine, {queue_status, Status}}, %% just set the queue status {ok, State#state{queue_status = Status}, []}; handle_ra_event(_QName, Leader, {machine, leader_change}, - #state{leader = OldLeader} = State0) -> + #state{leader = OldLeader, + pending = Pending} = State0) -> %% we need to update leader %% and resend any pending commands - rabbit_log:debug("~ts: Detected QQ leader change from ~w to ~w", - [?MODULE, OldLeader, Leader]), + rabbit_log:debug("~ts: Detected QQ leader change from ~w to ~w, " + "resending ~b pending commands", + [?MODULE, OldLeader, Leader, maps:size(Pending)]), State = resend_all_pending(State0#state{leader = Leader}), {ok, State, []}; handle_ra_event(_QName, _From, {rejected, {not_leader, Leader, _Seq}}, #state{leader = Leader} = State) -> {ok, State, []}; handle_ra_event(_QName, _From, {rejected, {not_leader, Leader, _Seq}}, - #state{leader = OldLeader} = State0) -> - rabbit_log:debug("~ts: Detected QQ leader change (rejection) from ~w to ~w", - [?MODULE, OldLeader, Leader]), + #state{leader = OldLeader, + pending = Pending} = State0) -> + rabbit_log:debug("~ts: Detected QQ leader change (rejection) from ~w to ~w, " + "resending ~b pending commands", + [?MODULE, OldLeader, Leader, maps:size(Pending)]), State = resend_all_pending(State0#state{leader = Leader}), {ok, cancel_timer(State), []}; handle_ra_event(_QName, _From, {rejected, {not_leader, _UndefinedMaybe, _Seq}}, State0) ->