ClassDescriptionA master node sends this request to its peers to inform them that it could commit the cluster state with the given term and version.A collection of persistent node ids, denoting the voting configuration for cluster state changes.The core class of the cluster state coordination algorithm, directly implementing the formal modelPluggable persistence layer for
CoordinationState.A collection of votes, used to calculate quorums.This exception is thrown when rejecting state transitions on the
CoordinationStateobject, for example when receiving a publish request with the wrong term or version.Deals with rolling upgrades of the cluster coordination layer.It's provably impossible to guarantee that any leader election algorithm ever elects a leader, but they generally work (with probability that approaches 1 over time) as long as elections occur sufficiently infrequently, compared to the time it takes to send a message to another node and receive a response back.Allows plugging in a custom election strategy, restricting the notion of an election quorum.Thrown when failing to publish a cluster state.The FollowersChecker is responsible for allowing a leader to check that its followers are still connected and healthy.Triggered by a
StartJoinRequest, instances of this class represent join votes, and have a source and target node.A publication can succeed and complete before all nodes have applied the published state and acknowledged it; however we need every node eventually either to apply the published state (or a later state) or be removed from the cluster.The LeaderChecker is responsible for allowing followers to check that the currently elected leader is still connected and healthy.This exception is thrown if the File system is reported unhealthy by @
FsHealthServiceand this nodes needs to be removed from the clusterRequest which is used by the master node to publish cluster state changes.Response to a
PublishRequest, carrying the term and version of the request.Response to a
PublishRequest.Computes the optimal configuration of voting nodes in the cluster.Represents the action of requesting a join vote (see
Join) from a node.