If standby_disconnect_on_failover
is set to true
in
ltcluster.conf
, in a failover situation ltclusterd will forcibly disconnect
the local node's WAL receiver, and wait for the WAL receiver on all sibling nodes to be
disconnected, before making a failover decision.
standby_disconnect_on_failover
is available with LightDB 21 and later.
Additionally this requires that the ltcluster
database user is a superuser.
By doing this, it's possible to ensure that, at the point the failover decision is made, no nodes are receiving data from the primary and their LSN location will be static.
standby_disconnect_on_failover
must be set to the same value on
all nodes.
Note that when using standby_disconnect_on_failover
there will be a delay of 5 seconds
plus however many seconds it takes to confirm the WAL receiver is disconnected before
ltclusterd proceeds with the failover decision.
ltclusterd will wait up to sibling_nodes_disconnect_timeout
seconds (default:
30
) to confirm that the WAL receiver on all sibling nodes hase been
disconnected before proceding with the failover operation. If the timeout is reached, the
failover operation will go ahead anyway.
Following the failover operation, no matter what the outcome, each node will reconnect its WAL receiver.
If using standby_disconnect_on_failover
, we recommend that the
primary_visibility_consensus
option is also used.