Environment

Environment variables

/ Configuration, / Environment

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 #

VariableDefaultDescription
PIZZA_FLUSH_CONCURRENCYunsetOverrides node.flush_concurrency (1..=16); beats the config file.
PIZZA_RECOVERY_TAIL_FLUSHunset0/1 forces wal.local.recovery_tail_flush off/on, beating the config file.
PIZZA_RPC_TIMEOUT_SECSunsetDeadline for cluster RPC calls (must be > 0).
PIZZA_COMPACTION_EVERY_TICKSunsetMaintenance ticks (500 ms) between background compaction passes.
PIZZA_COMPACT_TIERSunsetRestrict background compaction to specific tier patterns (diagnostics).
PIZZA_FLUSH_AFTER_IDLE_TICKSunsetIdle-tail epoch flush override (same semantics as wal.local.epoch_flush_after_idle_ticks).
PIZZA_SEGMENT_SYNCunsetoff skips the per-segment fsync before WAL purge — the same behavior as wal.local.segment_durability: async, without a config change.
PIZZA_WAL_IO_URINGunsetForce WAL io_uring on/off (Linux), overriding auto-detection.
PIZZA_MAX_NODE_BUILDSunsetFallback for the epoch-build concurrency default (PUT /_node/_local/settings/epoch_build overrides it at runtime).
PIZZA_MERGE_POOL_THREADSunsetSize of the dedicated compaction merge thread pool.
PIZZA_ROUTE_CACHEunsetRouting-table cache diagnostics/tuning.
PIZZA_BUILD_BUF_POOL_MBunsetBuild-buffer pool size in MiB.

Watchdog #

VariableDefaultDescription
PIZZA_RSS_WATCHDOGunsetEnable the RSS watchdog (0 explicitly disables it).
PIZZA_RSS_SOFT_MB60% of MemTotalSoft RSS threshold (MiB) — sheds load, logs.
PIZZA_RSS_HARD_MB75% of MemTotalHard RSS threshold (MiB) — aborts the process.

Diagnostics and profiling #

Off by default; presence enables.

...