Tarantool CE/EE Documentation portal logo
Support

Submodule box.ctl

The 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 a 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 read-only mode. Waiting until "read only mode = false" solves this problem.

Below is a list of all box.ctl functions.

Name

Use

box.ctl.wait_ro()

Wait until box.info.ro is true

box.ctl.wait_rw()

Wait until box.info.ro is false

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 on_shutdown trigger

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

box.ctl.make_bootstrap_leader()

Make the instance a bootstrap leader of a replica set