Quorum Behaviors

The persistence services in a cluster exhibit these behaviors as they form and maintain a quorum.

Cluster Start

When the cluster starts for the first time, all the services are empty. The services wait until all the services in the cluster have started, and are running simultaneously. Then they constitute a quorum for the first time, and can begin interacting with clients to store messages.

Steady State

After forming that initial quorum, client interaction continues while the quorum exists (that is, a majority of services continue to satisfy all three conditions of Quorum Conditions General Rule).

Rejoining the Quorum

A service can rejoin an existing quorum, for example, after that service restarts, or becomes reachable (after recovery from network segmentation). The rejoining service copies the data state of the quorum leader.

The current leader remains in place, even when the rejoining service has higher weight. That is, weights are relevant only for leader election. Election occurs only when the quorum does not already have a leader.

Reforming a Quorum

If the services no longer satisfy the quorum conditions, client interaction stops. The quorum must reconstitute through any of the scenarios in the following table.

Reforming a Quorum
Scenario Description
Complete The cluster can form a quorum of non-empty services (that is, they satisfy all three conditions of Quorum Conditions General Rule). For example, this scenario can occur after recovery from network segmentation. Alternatively, it can occur after suspending the cluster, saving the state of its services, and, finally, restarting the services.
Force Quorum A majority of the defined services are reachable, but the candidates cannot satisfy the non-empty condition. After verifying preconditions, the administrator may force a quorum (using the FTL server monitoring interface). For more details, see Before Forcing a Quorum.

The services in the forced quorum copy the most recent message data state.