Skip to content

Commit a2dcaaf

Browse files
committed
QQ: handle tick tweaks
to do leader repair earlier in tick function
1 parent f10e084 commit a2dcaaf

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

deps/rabbit/src/rabbit_quorum_queue.erl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,7 @@ handle_tick(QName,
583583
fun() ->
584584
try
585585
{ok, Q} = rabbit_amqqueue:lookup(QName),
586+
ok = repair_leader_record(Q, Name),
586587
Reductions = reductions(Name),
587588
rabbit_core_metrics:queue_stats(QName, NumReadyMsgs,
588589
NumCheckedOut, NumMessages,
@@ -636,12 +637,12 @@ handle_tick(QName,
636637
end}
637638
| Infos0],
638639
rabbit_core_metrics:queue_stats(QName, Infos),
639-
ok = repair_leader_record(Q, Name),
640640
case repair_amqqueue_nodes(Q) of
641641
ok ->
642642
ok;
643643
repaired ->
644-
rabbit_log:debug("Repaired quorum queue ~ts amqqueue record", [rabbit_misc:rs(QName)])
644+
rabbit_log:debug("Repaired quorum queue ~ts amqqueue record",
645+
[rabbit_misc:rs(QName)])
645646
end,
646647
ExpectedNodes = rabbit_nodes:list_members(),
647648
case Nodes -- ExpectedNodes of
@@ -1763,7 +1764,7 @@ i(leader, Q) -> leader(Q);
17631764
i(open_files, Q) when ?is_amqqueue(Q) ->
17641765
{Name, _} = amqqueue:get_pid(Q),
17651766
Nodes = get_connected_nodes(Q),
1766-
{Data, _} = rpc:multicall(Nodes, ?MODULE, open_files, [Name]),
1767+
{Data, _} = rpc:multicall(Nodes, ?MODULE, open_files, [Name], ?RPC_TIMEOUT),
17671768
lists:flatten(Data);
17681769
i(single_active_consumer_pid, Q) when ?is_amqqueue(Q) ->
17691770
QPid = amqqueue:get_pid(Q),
@@ -1883,7 +1884,7 @@ online(Q) when ?is_amqqueue(Q) ->
18831884
Nodes = get_connected_nodes(Q),
18841885
{Name, _} = amqqueue:get_pid(Q),
18851886
[node(Pid) || {ok, Pid} <-
1886-
erpc:multicall(Nodes, erlang, whereis, [Name]),
1887+
erpc:multicall(Nodes, erlang, whereis, [Name], ?RPC_TIMEOUT),
18871888
is_pid(Pid)].
18881889

18891890
format(Q, Ctx) when ?is_amqqueue(Q) ->

0 commit comments

Comments
 (0)