Skip to content

Commit 18950d0

Browse files
Ayanda-Dmergify[bot]
authored andcommitted
Shutdown peer QQ FSMs on connected nodes on force-shrink execution for cluster
wide consistency, ensuring only the leader is active/running (cherry picked from commit b675ce2) (cherry picked from commit d9de6d9) # Conflicts: # deps/rabbit/src/rabbit_quorum_queue.erl
1 parent 7ac378f commit 18950d0

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

deps/rabbit/src/rabbit_quorum_queue.erl

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1969,7 +1969,11 @@ force_shrink_member_to_current_member(VHost, Name) ->
19691969
end,
19701970
_ = rabbit_amqqueue:update(QName, Fun),
19711971
_ = [ra:force_delete_server(?RA_SYSTEM, {RaName, N}) || N <- OtherNodes],
1972+
<<<<<<< HEAD
19721973
rabbit_log:warning("Shrinking ~ts finished", [QNameFmt]);
1974+
=======
1975+
rabbit_log:warning("Disaster recovery procedure: shrinking finished");
1976+
>>>>>>> d9de6d989c (Shutdown peer QQ FSMs on connected nodes on force-shrink execution for cluster)
19731977
_ ->
19741978
rabbit_log:warning("Shrinking failed, ~ts not found", [QNameFmt]),
19751979
{error, not_found}
@@ -1991,7 +1995,11 @@ force_all_queues_shrink_member_to_current_member(ListQQFun) when is_function(Lis
19911995
QName = amqqueue:get_name(Q),
19921996
{RaName, _} = amqqueue:get_pid(Q),
19931997
OtherNodes = lists:delete(Node, get_nodes(Q)),
1998+
<<<<<<< HEAD
19941999
rabbit_log:warning("Shrinking queue ~ts to a single node: ~ts", [rabbit_misc:rs(QName), Node]),
2000+
=======
2001+
rabbit_log:warning("Disaster recovery procedure: shrinking queue ~p", [QName]),
2002+
>>>>>>> d9de6d989c (Shutdown peer QQ FSMs on connected nodes on force-shrink execution for cluster)
19952003
ok = ra_server_proc:force_shrink_members_to_current_member({RaName, Node}),
19962004
Fun = fun (QQ) ->
19972005
TS0 = amqqueue:get_type_state(QQ),
@@ -2000,8 +2008,13 @@ force_all_queues_shrink_member_to_current_member(ListQQFun) when is_function(Lis
20002008
end,
20012009
_ = rabbit_amqqueue:update(QName, Fun),
20022010
_ = [ra:force_delete_server(?RA_SYSTEM, {RaName, N}) || N <- OtherNodes]
2011+
<<<<<<< HEAD
20032012
end || Q <- ListQQFun(), amqqueue:get_type(Q) == ?MODULE],
20042013
rabbit_log:warning("Shrinking finished"),
2014+
=======
2015+
end || Q <- rabbit_amqqueue:list(), amqqueue:get_type(Q) == ?MODULE],
2016+
rabbit_log:warning("Disaster recovery procedure: shrinking finished"),
2017+
>>>>>>> d9de6d989c (Shutdown peer QQ FSMs on connected nodes on force-shrink execution for cluster)
20052018
ok.
20062019

20072020
is_minority(All, Up) ->

0 commit comments

Comments
 (0)