Environment variables #
Most tuning lives in pizza.yml (see the
configuration file reference) or the runtime settings
APIs. The PIZZA_* environment variables below are escape hatches —
mostly for benchmarking, diagnostics and crash-safety research; prefer
the config file or the settings APIs for anything you want to keep.
Operational knobs #
| Variable | Default | Description |
|---|---|---|
PIZZA_FLUSH_CONCURRENCY | unset | Overrides node.flush_concurrency (1..=16); beats the config file. |
PIZZA_RECOVERY_TAIL_FLUSH | unset | 0/1 forces wal.local.recovery_tail_flush off/on, beating the config file. |
PIZZA_RPC_TIMEOUT_SECS | unset | Deadline for cluster RPC calls (must be > 0). |
PIZZA_COMPACTION_EVERY_TICKS | unset | Maintenance ticks (500 ms) between background compaction passes. |
PIZZA_COMPACT_TIERS | unset | Restrict background compaction to specific tier patterns (diagnostics). |
PIZZA_FLUSH_AFTER_IDLE_TICKS | unset | Idle-tail epoch flush override (same semantics as wal.local.epoch_flush_after_idle_ticks). |
PIZZA_SEGMENT_SYNC | unset | off skips the per-segment fsync before WAL purge — the same behavior as wal.local.segment_durability: async, without a config change. |
PIZZA_WAL_IO_URING | unset | Force WAL io_uring on/off (Linux), overriding auto-detection. |
PIZZA_MAX_NODE_BUILDS | unset | Fallback for the epoch-build concurrency default (PUT /_node/_local/settings/epoch_build overrides it at runtime). |
PIZZA_MERGE_POOL_THREADS | unset | Size of the dedicated compaction merge thread pool. |
PIZZA_ROUTE_CACHE | unset | Routing-table cache diagnostics/tuning. |
PIZZA_BUILD_BUF_POOL_MB | unset | Build-buffer pool size in MiB. |
Watchdog #
| Variable | Default | Description |
|---|---|---|
PIZZA_RSS_WATCHDOG | unset | Enable the RSS watchdog (0 explicitly disables it). |
PIZZA_RSS_SOFT_MB | 60% of MemTotal | Soft RSS threshold (MiB) — sheds load, logs. |
PIZZA_RSS_HARD_MB | 75% of MemTotal | Hard RSS threshold (MiB) — aborts the process. |
Diagnostics and profiling #
Off by default; presence enables.
| Variable | Description |
|---|---|
PIZZA_PROFILE_BULK | Profile bulk parse and compaction paths. |
PIZZA_PROFILE_BUILD | Profile segment builds. |
PIZZA_PROFILE_QUERY | Profile query execution. |
PIZZA_COMPACTION_STATS | Emit extra compaction statistics. |
PIZZA_STORED_CODEC, PIZZA_STORED_ZSTD_LEVEL, PIZZA_STORED_MERGE_ZSTD_LEVEL | Stored-field codec and zstd levels (benchmarks). |
PIZZA_INVERTED_ZSTD_LEVEL, PIZZA_INVERTED_MERGE_ZSTD_LEVEL, PIZZA_DL_CODEC, PIZZA_DL_ZSTD_LEVEL | Inverted-index posting codec and zstd levels (benchmarks). |
PIZZA_COLUMNS_CODEC, PIZZA_COLUMNS_ZSTD_LEVEL, PIZZA_COLUMNS_MERGE_ZSTD_LEVEL | Column store codec and zstd levels (benchmarks). |
PIZZA_BKD_ZSTD_LEVEL, PIZZA_BKD_MERGE_ZSTD_LEVEL | BKD index codec zstd levels (benchmarks). |
PIZZA_CHECK_BMAX | WAND block-max verification (research). |
PIZZA_FROZEN_GLOBAL, PIZZA_FROZEN_CAP, PIZZA_FOLLOWER_DEFER_PENDING | Frozen-epoch admission experiments (research). |
Further chaos-test and research knobs exist and change frequently —
failpoints (PIZZA_FAILPOINT), cluster simulation
(PIZZA_SIMULATION_*), fencing experiments (PIZZA_SELF_FENCE_*,
PIZZA_MEMBERSHIP_FENCE_*), replication experiments
(PIZZA_VALUE_REPLICATION, PIZZA_ASYNC_REPLICATION). The source of
truth is a PIZZA_ grep over the codebase.