Set up your system parameters¶
This page lists the high-availability parameters you can set in systemParams.yaml, plus a reference of the internal HA quorum configuration options.
You can set up the following high-availability parameters in systemParams.yaml:
| Parameter | Description | Default |
|---|---|---|
emsPingFreq* |
EMS ping transmission frequency (per stream), in milliseconds | 5000 |
haAutoFailback |
If set to true, automatic failback to a superior node in the preference list may occur when that node is deemed to be healthier than the current primary. If set to false, automatic failover considers only healthy nodes inferior to the current primary. | Y |
haAutoFailbackSettle |
The delay in seconds between automatic failback consideration and the actual mode change. Some machine state fluctuations are transient. This value provides some degree of delay to avoid constant flip-flopping between nodes when auto-failback is enabled. | 300 |
haChkFreq* |
Health check frequency in seconds of the high-availability feed | 2 |
haFeedDelinq |
Period in seconds after which to consider absence of feed report as delinquent | 10 |
haFeedSettle |
The delay in seconds between automatic failover consideration and the actual mode change. When a node starts or a failover occurs, several atypical conditions (log replay, CPU burstiness, establishment of remote connections, etc.) exist for a short period of time. This value provides a settling period to ensure steady-state conditions prevail before the heartbeat rhythm is assessed. | 120 |
haHB* |
Heartbeat interval in seconds between two or more data loaders that share a feed. The heartbeat signal includes not only timing information, but also detailed health information from the originating node. Receivers use this information in part to self-assess their situation as compared with every other node. | 2 |
haModeChgTO |
The timeout period in seconds within which a primary node transitioning to secondary node must relinquish control. This is the maximum time the new primary waits before the old primary acknowledges loss of control. If the old primary is able to respond, that response is generally instantaneous. | 15 |
haProcHung |
Period in seconds after which to consider absence of feed report as a hung process | 60 |
haPubFreq* |
Flush frequency in milliseconds when processing the HA backlog. This is the maximum time a feed loader (such as SDL) is allowed to process and buffer messages before emitting something, if there is anything to emit. | 2500 |
haWindow* |
The number of samples to look at when calculating the heartbeat inter-arrival time threshold, mean, and standard deviation in feed.yaml. |
60 |
haWmLat |
Maximum watermark transmission latency in seconds allowed by WTS check | 8 |
haQuorumCheckFreq |
The frequency in milliseconds at which a primary HA process confirms that it is still in quorum with other servers. This frequency must be significantly less than the setting of haModeChangeTO (which is specified in seconds, with a default of 10). |
2500 |
haQuorumSettle |
This settling period allows heartbeats to arrive after a network partition. | 20 |
schedAsSecDefer |
The interval in milliseconds at which a primary HA client re-checks whether it has become secondary before running a deferred operation such as garbage collection. | 5000 |
| * Requires process restart for changes to take effect | * Requires process restart for changes to take effect | * Requires process restart for changes to take effect |
Quorum configuration options¶
In addition to the systemParams.yaml settings above, KX Sensors defines internal, lower-level quorum configuration parameters (.cfgp.*). Most of the ping-device and legacy quorum-policy parameters are obsolete in v3 — see HA clients quorum for background on what changed.
| Parameter | Dynamic | Default | Description |
|---|---|---|---|
.cfgp.haQuorumCheckFreq |
Yes | 2500 | Specifies the frequency at which a primary HA process confirms that it is still in quorum with other servers, in milliseconds. This frequency must be significantly less than the setting of .cfgp.haModeChgTO (which is specified in seconds, default 10). |
.cfgp.haQuorumCheckTO |
Yes | 500 | Timeout for quorum registry system calls, in milliseconds |
.cfgp.haQuorumSettle |
Yes | 30 | Settling time between quorum acquisition and full feed assessment, in seconds |
.cfgp.haRequireQuorum |
— | — | Obsolete in v3 |
.cfgp.haQuorumRetryInterval |
— | — | Obsolete in v3 |
.cfgp.haQuorumPolicy |
— | — | Obsolete in v3 |
.cfgp.haForceKill |
— | — | Obsolete in v3 |
.cfgp.haPingDevice |
— | — | Obsolete in v3 |
.cfgp.haPingTO |
— | — | Obsolete in v3 |
.cfgp.haPingRetries |
— | — | Obsolete in v3 |
.cfgp.haPingLat |
— | — | Obsolete in v3 |