Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,38 @@ series_slot_num=1
cn_metric_level=OFF
dn_metric_level=OFF

# ---- ratis snapshot tuning (bound raft log disk usage on small edge nodes) ----
# Ratis can only purge raft log entries that are already covered by a snapshot.
# With stock defaults (snapshot at 400000 logs or every 24h, 24MB segments) the
# ConfigNode / schema region logs may grow toward their 2GB log max
# (*_ratis_log_max_in_byte), which is oversized for edge disks. Snapshot
# earlier and more often so each purge happens while the log is still small;
# the snapshotted state is tiny on an edge node, so the extra snapshots are
# cheap background work.

# Snapshot after every 5000 appended raft log entries instead of the stock
# 400000, so the log is truncated much sooner (stock default: 400000).
config_node_ratis_snapshot_trigger_threshold=5000
schema_region_ratis_snapshot_trigger_threshold=5000

# Roll raft log segments at 6MB instead of 24MB: less unpurgeable slack in the
# currently open segment and finer-grained deletion at purge time (stock
# default: 25165824, i.e. 24MB).
config_node_ratis_log_segment_size_max_in_byte=6291456
schema_region_ratis_log_segment_size_max_in_byte=6291456

# Each purge always keeps the most recent N raft log entries, even if they are
# already covered by a snapshot; lower the safety margin from the stock 1000
# to 200 so the log shrinks further after every purge (stock default: 1000).
config_node_ratis_preserve_logs_num_when_purge=200
schema_region_ratis_preserve_logs_num_when_purge=200

# Force a snapshot when the newest one is older than 30 minutes instead of
# 24 hours, so an idle node's log cannot accumulate for hours between
# snapshots (stock default: 86400, i.e. 24h; unit: seconds).
config_node_ratis_periodic_snapshot_interval=1800
schema_region_ratis_periodic_snapshot_interval=1800

# ---- realtime pipe sync out of the box ----
# The pipe memory pool is 10% of the heap (~22MB at the default 224M budget),
# while the stock pipe memory estimates are sized for datacenter nodes: each
Expand All @@ -149,4 +181,10 @@ dn_metric_level=OFF
# latency (single-record p99 < 500ms).
pipe_insert_node_queue_memory=2097152
pipe_enable_memory_checked=false
pipe_logger_cache_max_size_in_bytes=1048576
pipe_logger_cache_max_size_in_bytes=1048576

# The ConfigNode's separated pipe heartbeat polls every DataNode for pipe
# runtime meta (progress, remaining events, degraded/failure status) every
# 30s instead of the stock 3s: fewer background heartbeat round trips on a
# small node, at the cost of ~30s staleness in pipe status (stock: 3).
pipe_heartbeat_interval_seconds_for_collecting_pipe_meta=30
Loading