Description
Product: Tarantool
Since: 3.0 alpha
Root document:
https://www.tarantool.io/en/doc/latest/reference/configuration/#box-cfg-params
https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_cfg/
https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_info/
SME: @ Gerold103
Can be done together with #3466, #3468, and #3473
Details
The new option box.cfg.replicaset_name
allows to assign the
replicaset name to a human-readable text value to be displayed in
the new info key - box.info.replicaset.name
- and to be
validated when the instances in the replicaset connect to each
other.
The name is broadcasted in "box.id" built-in event as
"replicaset_name" key. It is string when set and nil when not set.
When set, it has to match in all instances of the entire
replicaset.
If a name wasn't set on cluster bootstrap (was forgotten or the
cluster is upgraded from a version < 3.0), then it can be set
on an already running instance via box.cfg.replicaset_name
.
To change or drop an already installed name one has to use
box.cfg.force_recovery == true
in all instances of the cluster.
After the name is updated and all the instances synced, the
force_recovery
can be set back to false
.
The name can be <= 63 symbols long, can consist only of chars
['0'-'9'], '-', '_' and 'a'-'z'. It must start with a letter. When
upper-case letters are used in box.cfg
, they are automatically
converted to lower-case.
Requested by @Gerold103 in tarantool/tarantool@5bca229.