Module cartridge.failover | Tarantool
Документация на русском языке
поддерживается сообществом
Tarantool Cartridge Table of contents Module cartridge.failover

Module cartridge.failover

Gather information regarding instances leadership.

Failover can operate in two modes:

  • In disabled mode the leader is the first server configured in topology.replicasets[].master array.
  • In eventual mode the leader isn’t elected consistently. Instead, every instance in cluster thinks the leader is the first healthy server in replicaset, while instance health is determined according to membership status (the SWIM protocol).
  • In stateful mode leaders appointments are polled from the external storage. (Added in v2.0.2-2)

This module behavior depends on the instance state.

From the very beginning it reports is_rw() == false, is_leader() == false , get_active_leaders() == {} .

The module is configured when the instance enters ConfiguringRoles state for the first time. From that moment it reports actual values according to the mode set in clusterwide config.

(Added in v1.2.0-17)

Get current stateful failover coordinator

Returns:

(table) coordinator

Or

(nil)

(table) Error description

Cancel all pending reconfigure_all tasks.

Schedule new reconfigure_all task.

Generate appointments according to clusterwide configuration. Used in „disabled“ failover mode.

Generate appointments according to membership status. Used in „eventual“ failover mode.

Get appointments from external storage. Used in „stateful“ failover mode.

Accept new appointments.

Get appointments wherever they come from and put them into cache. Cached active_leaders table is never modified, but overriden by it’s modified copy (if necessary).

Parameters:

Returns:

(boolean) Whether leadership map has changed

Perform the fencing healthcheck.

Fencing is actuated when the instance disconnects from both the state provider and a replica, i.e. the check returns false.

Returns:

(boolean) true / false

Lock failover if failover suppressing is on.

Repeatedly fetch new appointments and reconfigure roles.

Initialize the failover module.

Get map of replicaset leaders.

Returns:

{[replicaset_uuid] = instance_uuid,…}

Check current instance leadership.

Returns:

(boolean) true / false

Check current instance writability.

Returns:

(boolean) true / false

Check if current instance has persisted his vclock.

Returns:

(boolean) true / false

Check if failover paused on current instance.

Returns:

(boolean) true / false

Check if failover suppressed on current instance.

Returns:

(boolean) true / false

Check if failover synchro mode enabled.

Returns:

(boolean) true / false

Check if current configuration implies consistent switchover.

Returns:

(boolean) true / false

Get failover mode.

Returns:

(string)

Force inconsistent leader switching. Do it by resetting vclockkeepers in state provider.

Parameters:

Returns:

(boolean) true

Or

(nil)

(table) Error description

Wait when promoted instances become vclockkeepers.

Parameters:

Returns:

(boolean) true

Or

(nil)

(table) Error description

Set internal failover options.

Available options are: WAITLSN_PAUSE, WAITLSN_TIMEOUT, LONGPOLL_TIMEOUT, NETBOX_CALL_TIMEOUT

Returns:

(boolean) true

Or

(nil)

(table) Error description

Нашли ответ на свой вопрос?
Обратная связь