Skip to content

Commit d37d8d7

Browse files
committed
khepri_remove_member
1 parent 6b575e0 commit d37d8d7

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

deps/rabbit/src/rabbit_db.erl

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,23 @@ force_load_on_next_boot_using_mnesia() ->
198198
post_reset() ->
199199
%% We assert all Ra systems are stopped because their files are about to
200200
%% be removed.
201-
false = lists:any(
202-
fun rabbit_ra_systems:is_running/1,
203-
rabbit_ra_systems:all_ra_systems()),
201+
lists:foreach(
202+
fun(RaSystem) ->
203+
case rabbit_ra_systems:is_running(RaSystem) of
204+
false ->
205+
ok;
206+
true ->
207+
Reason = rabbit_misc:format(
208+
"Ra system '~s' is still running during "
209+
"reset",
210+
[RaSystem]),
211+
?LOG_ERROR(
212+
"DB: ~ts",
213+
[Reason],
214+
#{domain => ?RMQLOG_DOMAIN_DB}),
215+
throw({error, Reason})
216+
end
217+
end, rabbit_ra_systems:all_ra_systems()),
204218

205219
%% We reset the state of feature flags, both in memory and on disk. The
206220
%% state recorded on disk would be deleted with the wipe below anyway.

deps/rabbit/src/rabbit_khepri.erl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -694,13 +694,8 @@ remove_reachable_member(NodeToRemove) ->
694694
[NodeToRemove, ?RA_CLUSTER_NAME],
695695
#{domain => ?RMQLOG_DOMAIN_GLOBAL}),
696696

697-
%% We need the Khepri store to run on the node to remove, to be
698-
%% able to reset it.
699-
ok = rabbit_misc:rpc_call(
700-
NodeToRemove, ?MODULE, setup, []),
701-
702697
Ret = rabbit_misc:rpc_call(
703-
NodeToRemove, khepri_cluster, reset, [?RA_CLUSTER_NAME]),
698+
NodeToRemove, rabbit_db, reset, []),
704699
case Ret of
705700
ok ->
706701
rabbit_amqqueue:forget_all(NodeToRemove),

0 commit comments

Comments
 (0)