Skip to content

Dynamic configuration for Aerospike on Kubernetes

For the complete documentation index see: llms.txt

All documentation pages available in markdown.

This page explains how to enable dynamic configuration updates in the AerospikeCluster custom resource (CR). After you enable this feature, AKO can apply supported Aerospike Database configuration changes without a rolling restart, and the changes persist after future pod restarts.

How to use

Enable/disable this feature by setting enableDynamicConfigUpdate to true or false in the Custom Resource (CR) file.

Update one database parameter at a time, and wait for the change to succeed before you make another update. This reduces the risk of partially applied configuration changes that can leave a pod in a non-functional state and require a manual restart.

Failure handling

Internally, each configuration change is translated into an asadm command. The commands are executed on the Aerospike database one at a time in the order they appear in the CR file, top to bottom.

If all commands succeed, AKO proceeds to the next pod.

These commands can fail in two ways:

  • Partial failure: If some parameters are applied successfully and others fail, AKO triggers a rolling restart as a fallback.

  • Full failure: If none of the changes are applied successfully, AKO keeps trying to apply them dynamically until the change succeeds or you revert it in the CR.

Limitations

When AKO updates the Aerospike configuration dynamically, certain fields may cause a command failure if they fail to meet certain conditions.

This list is non-exhaustive and only represents the most common potential failures. See the Configuration Reference for more information about each parameter.

NameContext/sub-contextRequired Conditions
microsecond-histogramsServiceThis is a static configuration for the auto-enabled histograms.
connect-timeout-msNetwork/heartbeatThis value must be at least 50. It cannot be larger than one-third of the product of heartbeat.interval and heartbeat.timeout.
default-ttlNamespace, Namespace/SetTo set a non-zero value for default-ttl, you must configure a non-zero nsup-period or allow-ttl-without-nsup to true.
disable-write-dup-resNamespaceOnly applicable for AP namespaces
disallow-expungeNamespaceOnly applicable for AP namespaces
conflict-resolution-policyNamespaceOnly applicable for AP namespaces
max-throughputXDR/NamespaceValue should be a multiple of 100
transaction-queue-limitXDR/NamespaceValue should be a power of 2
Feedback

Was this page helpful?

What type of feedback are you giving?

What would you like us to know?

+Capture screenshot

Can we reach out to you?