diff --git a/deps/rabbit/src/rabbit_quorum_queue.erl b/deps/rabbit/src/rabbit_quorum_queue.erl index 69dc09b97c19..c36d21bee1cd 100644 --- a/deps/rabbit/src/rabbit_quorum_queue.erl +++ b/deps/rabbit/src/rabbit_quorum_queue.erl @@ -424,11 +424,13 @@ local_or_remote_handler(ChPid, Module, Function, Args) -> erpc:cast(Node, Module, Function, Args) end. -become_leader(QName, Name) -> +become_leader(_QName, _Name) -> + %% noop now as we instead rely on the promt tick_timeout + repair + ok. %% as this function is called synchronously when a ra node becomes leader %% we need to ensure there is no chance of blocking as else the ra node %% may not be able to establish its leadership - spawn(fun () -> become_leader0(QName, Name) end). + % spawn(fun () -> become_leader0(QName, Name) end). become_leader0(QName, Name) -> Fun = fun (Q1) -> @@ -682,8 +684,8 @@ repair_leader_record(Q, Self) -> ok; _ -> QName = amqqueue:get_name(Q), - rabbit_log:debug("~ts: repairing leader record", - [rabbit_misc:rs(QName)]), + rabbit_log:debug("~ts: updating leader record to current node ~b", + [rabbit_misc:rs(QName), Node]), {_, Name} = erlang:process_info(Self, registered_name), ok = become_leader0(QName, Name), ok diff --git a/rabbitmq-components.mk b/rabbitmq-components.mk index 730262da975f..167da7d3c244 100644 --- a/rabbitmq-components.mk +++ b/rabbitmq-components.mk @@ -51,7 +51,8 @@ dep_khepri_mnesia_migration = hex 0.7.1 dep_meck = hex 1.0.0 dep_osiris = git https://github.com/rabbitmq/osiris v1.8.6 dep_prometheus = hex 4.11.0 -dep_ra = hex 2.16.3 +dep_ra = git https://github.com/rabbitmq/ra tick-timout-tweak +ep_ra = hex 2.16.3 dep_ranch = hex 2.2.0 dep_recon = hex 2.5.6 dep_redbug = hex 2.0.7