rabbitmq / ra

A Raft implementation for Erlang and Elixir that strives to be efficient and make it easier to use multiple Raft clusters in a single system.
Other
813 stars 96 forks source link

ra_system: Fix stop/1 when the `ra` application is stopped #347

Closed dumbbell closed 1 year ago

dumbbell commented 1 year ago

If the ra application is stopped, the ra_systems_sup supervisor is not running. This leads to a {noproc, _} exit exception if we try to stop a Ra system.

This exception should be caught to make sure that the function always work and is idempotent. Indeed, the Ra system is already stopped if the application is not running.

This is a followw-up to #344.