@@ -585,16 +585,36 @@ remove_down_member(NodeToRemove) ->
585585% % @private
586586
587587reset () ->
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
595604force_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
0 commit comments