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

Remove machine monitors #352

Closed kjnilsson closed 1 year ago

kjnilsson commented 1 year ago

Ensure machine monitors are removed when member steps down.

This moves the call to ra_members:remove_all/2 to be called whenever a node enters follower state rather than exiting leader as was done before. When performing leadership transfer the old leader passes via the await_condition state and would have left machine monitors behind.