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, #3467, #3473, and #3469
Details
The new option box.cfg.instance_name
allows to assign the
instance name to a human-readable text value to be displayed in
the new info key - box.info.name
. Instances can see names of
their peers in box.info.replication[id].name
.
The name is broadcasted in "box.id" built-in event as
"instance_name" key. It is string when set and nil when not set.
When set, it has to be unique in the instance's 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.instance_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@9e2d46f.