This document describes the configuration parameters related to Raftstore.
sync-log
Enables or disables synchronous write mode. In the synchronous write mode, each commit is forced to be flushed to raft-log synchronously for persistent storage.
Default value: true
Setting this value to false might lead to data loss. It is strongly recommended that you do not modify this configuration.
prevote
Enables or disables prevote. Enabling this feature helps reduce jitter on the system after recovery from network partition.
Default value: true
raftdb-path
The path to the Raft library, which is storage.data-dir/raft by default
Default value: "”
raft-base-tick-interval
The time interval at which the Raft state machine ticks
Default value: 1s
Minimum value: greater than 0
raft-heartbeat-ticks
The number of passed ticks when the heartbeat is sent. This means that a heartbeat is sent at the time interval of raft-base-tick-interval * raft-heartbeat-ticks.
Default value: 2
Minimum value: greater than 0
raft-election-timeout-ticks
The number of passed ticks when Raft election is initiated. This means that if Raft group is missing the leader, a leader election is initiated approximately after the time interval of raft-base-tick-interval * raft-election-timeout-ticks.
Default value: 10
Minimum value: raft-heartbeat-ticks
raft-min-election-timeout-ticks
The minimum number of ticks during which the Raft election is initiated. If the number is 0, the value of raft-election-timeout-ticks is used. The value of this parameter must be greater than or equal to raft-election-timeout-ticks.
Default value: 0
Minimum value: 0
raft-max-election-timeout-ticks
The maximum number of ticks during which the Raft election is initiated. If the number is 0, the value of raft-election-timeout-ticks * 2 is used.
Default value: 0
Minimum value: 0
raft-max-size-per-message
The soft limit on the size of a single message packet
Default value: 1MB
Minimum value: 0
Unit: MB
raft-max-inflight-msgs
The number of Raft logs to be confirmed. If this number is exceeded, log sending slows down.
Default value: 256
Minimum value: greater than 0
raft-entry-max-size
The hard limit on the maximum size of a single log
Default value: 8MB
Minimum value: 0
Unit: MB|GB
raft-log-gc-tick-interval
The time interval at which the polling task of deleting Raft logs is scheduled. 0 means that this feature is disabled.
Default value: 10s
Minimum value: 0
raft-log-gc-threshold
The soft limit on the maximum allowable count of residual Raft logs
Default value: 50
Minimum value: 1
raft-log-gc-count-limit
The hard limit on the allowable number of residual Raft logs
Default value: the log number that can be accommodated in the 3/4 Region size (calculated as 1MB for each log)
Minimum value: 0
raft-log-gc-size-limit
The hard limit on the allowable size of residual Raft logs
Default value: 3/4 of the Region size
Minimum value: greater than 0
raft-entry-cache-life-time
The maximum remaining time allowed for the log cache in memory.
Default value: 30s
Minimum value: 0
raft-reject-transfer-leader-duration
The protection time for new nodes, which is used to control the shortest interval to migrate a leader to the newly added node. Setting this value too small might cause the failure of leader transfer.
Default value: 3s
Minimum value: 0
raftstore.hibernate-regions (Experimental)
Enables or disables Hibernate Region. When this option is enabled, a Region idle for a long time is automatically set as hibernated. This reduces the extra overhead caused by heartbeat messages between the Raft leader and the followers for idle Regions. You can use raftstore.peer-stale-state-check-interval to modify the heartbeat interval between the leader and the followers of hibernated Regions.
Default value: false
raftstore.peer-stale-state-check-interval
Modifies the state check interval for Regions.
Default value: 5 min
split-region-check-tick-interval
Specifies the interval at which to check whether the Region split is needed. 0 means that this feature is disabled.
Default value: 10s
Minimum value: 0
region-split-check-diff
The maximum value by which the Region data is allowed to exceed before Region split
Default value: 1/16 of the Region size.
Minimum value: 0
region-compact-check-interval
The time interval at which to check whether it is necessary to manually trigger RocksDB compaction. 0 means that this feature is disabled.
Default value: 5m
Minimum value: 0
clean-stale-peer-delay
Delays the time in deleting expired replica data
Default value: 10m
Minimum value: 0
region-compact-check-step
The number of Regions checked at one time for each round of manual compaction
Default value: 100
Minimum value: 0
region-compact-min-tombstones
The number of tombstones required to trigger RocksDB compaction
Default value: 10000
Minimum value: 0
region-compact-tombstones-percent
The proportion of tombstone required to trigger RocksDB compaction
Default value: 30
Minimum value: 1
Maximum value: 100
pd-heartbeat-tick-interval
The time interval at which a Region’s heartbeat to PD is triggered. 0 means that this feature is disabled.
Default value: 1m
Minimum value: 0
pd-store-heartbeat-tick-interval
The time interval at which a store’s heartbeat to PD is triggered. 0 means that this feature is disabled.
Default value: 10s
Minimum value: 0
snap-mgr-gc-tick-interval
The time interval at which the recycle of expired snapshot files is triggered. 0 means that this feature is disabled.
Default value: 5s
Minimum value: 0
snap-gc-timeout
The longest time for which a snapshot file is saved
Default value: 4h
Minimum value: 0
lock-cf-compact-interval
The time interval at which TiKV triggers a manual compaction for the Lock Column Family
Default value: 256MB
Default value: 10m
Minimum value: 0
lock-cf-compact-bytes-threshold
The size out of which TiKV triggers a manual compaction for the Lock Column Family
Default value: 256MB
Minimum value: 0
Unit: MB
notify-capacity
The longest length of the Region message queue.
Default value: 40960
Minimum value: 0
messages-per-tick
The maximum number of messages processed per batch
Default value: 4096
Minimum value: 0
max-peer-down-duration
The longest inactive duration allowed for a peer. A peer with timeout is marked as down, and PD tries to delete it later.
Default value: 5m
Minimum value: 0
max-leader-missing-duration
The longest duration allowed for a peer to be in the state where a Raft group is missing the leader. If this value is exceeded, the peer verifies with PD whether the peer has been deleted.
Default value: 2h
Minimum value: greater than abnormal-leader-missing-duration
abnormal-leader-missing-duration
The longest duration allowed for a peer to be in the state where a Raft group is missing the leader. If this value is exceeded, the peer is seen as abnormal and marked in metrics and logs.
Default value: 10m
Minimum value: greater than peer-stale-state-check-interval
peer-stale-state-check-interval
The time interval to trigger the check for whether a peer is in the state where a Raft group is missing the leader.
Default value: 5m
Minimum value: greater than 2 * election-timeout
leader-transfer-max-log-lag
The maximum number of missing logs allowed for the transferee during a Raft leader transfer
Default value: 10
Minimum value: 10
snap-apply-batch-size
The memory cache size required when the imported snapshot file is written into the disk
Default value: 10MB
Minimum value: 0
Unit: MB
consistency-check-interval
The time interval at which the consistency check is triggered. 0 means that this feature is disabled.
Default value: 0s
Minimum value: 0
raft-store-max-leader-lease
The longest trusted period of a Raft leader
Default value: 9s
Minimum value: 0
allow-remove-leader
Determines whether to allow deleting the main switch
Default value: false
merge-max-log-gap
The maximum number of missing logs allowed when merge is performed
Default value: 10
Minimum value: greater than raft-log-gc-count-limit
merge-check-tick-interval
The time interval at which TiKV checks whether a Region needs merge
Default value: 10s
Minimum value: greater than 0
use-delete-range
Determines whether to delete data from the rocksdb delete_range interface
Default value: false
cleanup-import-sst-interval
The time interval at which the expired SST file is checked. 0 means that this feature is disabled.
Default value: 10m
Minimum value: 0
local-read-batch-size
The maximum number of read requests processed in one batch
Default value: 1024
Minimum value: greater than 0
apply-max-batch-size
The maximum number of requests for data flushing in one batch
Default value: 1024
Minimum value: greater than 0
apply-pool-size
The allowable number of threads in the pool that flushes data to storage
Default value: 2
Minimum value: greater than 0
store-max-batch-size
The maximum number of requests processed in one batch