Merge pull request #12739 from rabbitmq/fix-khepri-reset
Fix RabbitMQ reset when using Khepri
This commit is contained in:
commit
44e74ceb96
|
|
@ -585,16 +585,36 @@ remove_down_member(NodeToRemove) ->
|
|||
%% @private
|
||||
|
||||
reset() ->
|
||||
%% Rabbit should be stopped, but Khepri needs to be running. Restart it.
|
||||
ok = setup(),
|
||||
ok = khepri_cluster:reset(?RA_CLUSTER_NAME),
|
||||
ok = khepri:stop(?RA_CLUSTER_NAME).
|
||||
case rabbit:is_running() of
|
||||
false ->
|
||||
%% Rabbit should be stopped, but Khepri needs to be running.
|
||||
%% Restart it.
|
||||
ok = setup(),
|
||||
ok = khepri_cluster:reset(?RA_CLUSTER_NAME),
|
||||
ok = khepri:stop(?RA_CLUSTER_NAME),
|
||||
|
||||
_ = file:delete(rabbit_guid:filename()),
|
||||
ok;
|
||||
true ->
|
||||
throw({error, rabbitmq_unexpectedly_running})
|
||||
end.
|
||||
|
||||
%% @private
|
||||
|
||||
force_reset() ->
|
||||
DataDir = maps:get(data_dir, ra_system:fetch(coordination)),
|
||||
ok = rabbit_file:recursive_delete(filelib:wildcard(DataDir ++ "/*")).
|
||||
case rabbit:is_running() of
|
||||
false ->
|
||||
ok = khepri:stop(?RA_CLUSTER_NAME),
|
||||
DataDir = maps:get(data_dir, ra_system:fetch(?RA_SYSTEM)),
|
||||
ok = rabbit_ra_systems:ensure_ra_system_stopped(?RA_SYSTEM),
|
||||
ok = rabbit_file:recursive_delete(
|
||||
filelib:wildcard(DataDir ++ "/*")),
|
||||
|
||||
_ = file:delete(rabbit_guid:filename()),
|
||||
ok;
|
||||
true ->
|
||||
throw({error, rabbitmq_unexpectedly_running})
|
||||
end.
|
||||
|
||||
%% @private
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
all_ra_systems/0,
|
||||
are_running/0,
|
||||
ensure_ra_system_started/1,
|
||||
ensure_ra_system_stopped/1,
|
||||
ensure_started/0,
|
||||
ensure_stopped/0]).
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue