Feature: Topology: replicaset parameter
Add --replicaset
parameter to the binary.
- When two instances of picodata are run with the same
--cluster-id
and--replicaset
parameters then these instances should become members of the same Tarantool replicaset. - The instances' replicaset_uuid and instance_uuid should be generated and committed to the cluster-wide config using Raft.
- The instance_id of any instance should be associated with it's replicaset in the cluster-wide config. The corresponding record in the cluster-wide config is written when the instance is started as part of a cluster for the first time.
- When all data files of an instance of an existing replicaset are deleted
and the instance is restarted with the same
--replicaset
parameter, then the instance should start in the same replicaset. The instance should receive and reuse the replicaset_uuid and instance_uuid from the cluster-wide config. - If the
--replicaset
parameter for the instance is not the same as the one stored in the global cluster-wide config then the instance should stop with an error. - When an instance with an instance_id which has previously been part of a replicaset is restarted with
a
--replicaset
that mismatches the one from the global cluster-wide config, then the instance should stop with an error describing the mismatch of the parameter. This situation should be considered a configuration/parameter value error.
Motivation
- Manual topology configuration before automatic topology is implemented.
- Complex topology setup for advanced users.