Skip to content

Add replication factor to Raft config

A part of #6033.

This commit adds the replication factor to the Raft config. This config defines the number of nodes where the data of a storage are replicated. It includes the main storage. For example, ReplicationFactor=3 means 1 main storage + 2 replicated storages.

The replication factor is set at the storage level. All repositories of a storage share the same behavior. Although our Raft architecture makes it feasible to set the replication factor at the repository level, we don't need that fine-grained level of control at the moment. This decision is subject to change in the future.

The replication factor is attached to the storage registration request. It is persisted in the metadata group and will be used for replica placement in later MRs. Right now, the replication factor is set once. When it changes, the replica topology changes and data additions and deletions. Replication factor update will be handled by a replicator later.

Merge request reports