Skip to content

Commit 44e74ce

Browse files
authored
Merge pull request #12739 from rabbitmq/fix-khepri-reset
Fix RabbitMQ reset when using Khepri
2 parents 248d7a9 + 2938338 commit 44e74ce

File tree

2 files changed

+27
-6
lines changed

2 files changed

+27
-6
lines changed

deps/rabbit/src/rabbit_khepri.erl

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -585,16 +585,36 @@ remove_down_member(NodeToRemove) ->
585585
%% @private
586586

587587
reset() ->
588-
%% Rabbit should be stopped, but Khepri needs to be running. Restart it.
589-
ok = setup(),
590-
ok = khepri_cluster:reset(?RA_CLUSTER_NAME),
591-
ok = khepri:stop(?RA_CLUSTER_NAME).
588+
case rabbit:is_running() of
589+
false ->
590+
%% Rabbit should be stopped, but Khepri needs to be running.
591+
%% Restart it.
592+
ok = setup(),
593+
ok = khepri_cluster:reset(?RA_CLUSTER_NAME),
594+
ok = khepri:stop(?RA_CLUSTER_NAME),
595+
596+
_ = file:delete(rabbit_guid:filename()),
597+
ok;
598+
true ->
599+
throw({error, rabbitmq_unexpectedly_running})
600+
end.
592601

593602
%% @private
594603

595604
force_reset() ->
596-
DataDir = maps:get(data_dir, ra_system:fetch(coordination)),
597-
ok = rabbit_file:recursive_delete(filelib:wildcard(DataDir ++ "/*")).
605+
case rabbit:is_running() of
606+
false ->
607+
ok = khepri:stop(?RA_CLUSTER_NAME),
608+
DataDir = maps:get(data_dir, ra_system:fetch(?RA_SYSTEM)),
609+
ok = rabbit_ra_systems:ensure_ra_system_stopped(?RA_SYSTEM),
610+
ok = rabbit_file:recursive_delete(
611+
filelib:wildcard(DataDir ++ "/*")),
612+
613+
_ = file:delete(rabbit_guid:filename()),
614+
ok;
615+
true ->
616+
throw({error, rabbitmq_unexpectedly_running})
617+
end.
598618

599619
%% @private
600620

deps/rabbit/src/rabbit_ra_systems.erl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
all_ra_systems/0,
1717
are_running/0,
1818
ensure_ra_system_started/1,
19+
ensure_ra_system_stopped/1,
1920
ensure_started/0,
2021
ensure_stopped/0]).
2122

0 commit comments

Comments
 (0)