Skip to content

Commit bd111f0

Browse files
Merge pull request #11278 from SimonUnge/qq_repair_amqqueue_on_tick
2 parents 096015b + 83a0eed commit bd111f0

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

deps/rabbit/src/rabbit_quorum_queue.erl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,12 @@ handle_tick(QName,
552552
| info(Q, Keys)],
553553
rabbit_core_metrics:queue_stats(QName, Infos),
554554
ok = repair_leader_record(Q, Self),
555+
case repair_amqqueue_nodes(Q) of
556+
ok ->
557+
ok;
558+
repaired ->
559+
rabbit_log:debug("Repaired quorum queue ~ts amqqueue record", [rabbit_misc:rs(QName)])
560+
end,
555561
ExpectedNodes = rabbit_nodes:list_members(),
556562
case Nodes -- ExpectedNodes of
557563
[] ->
@@ -604,8 +610,8 @@ repair_amqqueue_nodes(QName = #resource{}) ->
604610
repair_amqqueue_nodes(Q0);
605611
repair_amqqueue_nodes(Q0) ->
606612
QName = amqqueue:get_name(Q0),
607-
Leader = amqqueue:get_pid(Q0),
608-
{ok, Members, _} = ra:members(Leader),
613+
{Name, _} = amqqueue:get_pid(Q0),
614+
Members = ra_leaderboard:lookup_members(Name),
609615
RaNodes = [N || {_, N} <- Members],
610616
#{nodes := Nodes} = amqqueue:get_type_state(Q0),
611617
case lists:sort(RaNodes) =:= lists:sort(Nodes) of

0 commit comments

Comments
 (0)