Was this page helpful?
Pass additional ScyllaDB arguments¶
Pass extra command-line arguments to the ScyllaDB binary at startup to tune behaviour or enable features that are not exposed through the ScyllaDB configuration files.
Caution
When additional ScyllaDB arguments are set, ScyllaDB may behave unexpectedly.
Every such setup is considered unsupported.
Prefer using a custom ScyllaDB configuration file (per-rack scyllaConfig field) for configuration options that can be set through scylla.yaml.
How it works¶
The Operator appends the additional arguments to the ScyllaDB binary command line when starting each pod. Because the arguments are part of the pod spec (via the StatefulSet), changing them triggers a rolling restart of all nodes in the cluster — each node is updated one at a time.
ScyllaCluster (v1 API)¶
Set spec.scyllaArgs to a string of additional arguments:
apiVersion: scylla.scylladb.com/v1
kind: ScyllaCluster
metadata:
name: scylla
namespace: scylla
spec:
scyllaArgs: "--blocked-reactor-notify-ms 10"
datacenter:
name: us-east-1
racks:
- name: us-east-1a
members: 3
storage:
capacity: 500Gi
resources:
limits:
cpu: 4
memory: 8Gi
Note
In the v1 API, scyllaArgs is a single string.
Multiple arguments are separated by spaces.
Note
Due to a technical limitation, arguments are represented internally as key-value pairs.
Only flags that take a value are supported (e.g. --blocked-reactor-notify-ms 500).
For boolean flags, pass 1 (true) or 0 (false) as the value — for example, --developer-mode 0.
Verify¶
After the rolling restart completes, confirm that the arguments were applied to the ScyllaDB container.
Check the pod spec:
kubectl -n scylla get pod <pod-name> -o jsonpath='{.spec.containers[?(@.name=="scylla")].command}'
The arguments appear in the ScyllaDB container’s command alongside other default arguments added by the Operator.
Check the ScyllaDB startup logs:
kubectl -n scylla logs <pod-name> -c scylla | head -20
The ScyllaDB startup line will include the configured arguments alongside the other flags passed to the binary.
Emergency log level changes¶
When a rolling restart is not possible — for example, during a stuck rollout or with a degraded cluster — use the ScyllaDB REST API to change settings on running pods without a restart. See Change the log level.