wait_ro (wait until read-only) and
wait_rw (wait until read-write) functions
are useful during server initialization.
To see whether a function is already in read-only or read-write mode, check box.info.ro.
A particular use is for box.once().
For example, when a replica is initializing, it may call
box.once() function while the server is still in
read-only mode, and fail to make changes that are necessary
only once before the replica is fully initialized.
This could cause conflicts between a master and a replica
if the master is in read-write mode and the replica is in
Waiting until “read only mode = false” solves this problem.
Below is a list of all
|box.ctl.on_schema_init()||Create a “schema_init trigger”|
|box.ctl.on_shutdown()||Create a “shutdown trigger”|
|box.ctl.on_recovery_state()||Create a trigger executed on different stages of a node recovery or initial configuration|
|box.ctl.on_election()||Create a trigger executed every time the current state of a replica set node in regard to leader election changes|
|box.ctl.set_on_shutdown_timeout()||Set a timeout in seconds for the
|box.ctl.is_recovery_finished()||Check if recovery has finished|
|box.ctl.promote()||Wait, then choose replication leader|
|box.ctl.demote()||Revoke the leader role from the instance|