Runtime node settings and dynamic log level

Runtime node settings and dynamic log level #

Node-local knobs no longer require a restart. GET/PUT /_node/_local/settings exposes transient overrides over the pizza.yml values — search lane budgets, the slowlog threshold, the default search timeout, trash retention — and they take effect immediately:

# drop the slowlog threshold to 200ms on one node, effective immediately
curl -X PUT http://127.0.0.1:28000/_node/_local/settings \
  -H 'Content-Type: application/json' \
  -d '{"node.search.slow_threshold_ms": 200}'

The flagship: log.level flips live — no restart, no dropped requests — which turns “turn on debug logging on the suspicious node” into a one-liner while preserving target-specific directives like openraft=warn.

Sibling endpoints cover the maintenance lanes (/_node/_local/settings/tasks), the WAL epoch-freeze thresholds (/settings/epoch_freeze) and background build admission (/settings/epoch_build), with the same transient semantics. The built-in web console (/_ui/ → Settings → Node runtime) edits all of them visually and fans a change out to every node:

Node runtime settings in the console

Every knob shows its effective value and where that value comes from (built-in default, pizza.yml, or a runtime override), and a save applies immediately — no restart, no dropped requests.

See Node Settings for the catalog and the pizza.yml settings map.

Calendar September 27, 2026
Edit Edit this page