Problem
Valkey maxmemory-policy dynamic reconfigure needs to apply to every data pod. CONFIG SET maxmemory-policy is local to each Valkey process and is not automatically replicated from primary to replicas.
If the addon reconfigure action only executes on one pod, the cluster can remain split, for example one pod on allkeys-lru while other pods stay on volatile-lru.
Fix
Set the Valkey reconfigure action to fan out to all component pods:
reconfigure:
exec:
targetPodSelector: All
This is paired with the KubeBlocks controller-side action parameter alias fix, which passes both raw and shell-safe parameters such as maxmemory-policy and MAXMEMORY_POLICY.
Related KubeBlocks issue/PR:
Validation
Repeated R08a-only validation passed 3 consecutive clean samples using controller-side alias plus this addon fan-out behavior, with no runtime closure check:
controller image: apecloud/kubeblocks:release-1.1-controller-side-alias-20260426-195333
imageID: sha256:bc6246f747c9f7d4c42fee842e38393e28e4c9f4c177914292582e2217fcc221
addon: kb-addon-valkey revision 55
addon shape: targetPodSelector: All=yes, runtime closure check=no, rendered fallback=no
artifact root: /tmp/valkey-alias-fanout-no-runtime-closure-repeated-000106
| Round |
Sample |
OpsRequest |
ComponentParameter |
Pre runtime |
Post-immediate runtime |
Post-settle(60s) runtime |
| 1 |
valkey-178-r1-000106 / vlk-v178-r1-000106 |
Succeed |
Finished |
3/3 volatile-lru |
3/3 allkeys-lru |
3/3 allkeys-lru |
| 2 |
valkey-178-r2-000703 / vlk-v178-r2-000703 |
Succeed |
Finished |
3/3 volatile-lru |
3/3 allkeys-lru |
3/3 allkeys-lru |
| 3 |
valkey-178-r3-001126 / vlk-v178-r3-001126 |
Succeed |
Finished |
3/3 volatile-lru |
3/3 allkeys-lru |
3/3 allkeys-lru |
Problem
Valkey
maxmemory-policydynamic reconfigure needs to apply to every data pod.CONFIG SET maxmemory-policyis local to each Valkey process and is not automatically replicated from primary to replicas.If the addon reconfigure action only executes on one pod, the cluster can remain split, for example one pod on
allkeys-lruwhile other pods stay onvolatile-lru.Fix
Set the Valkey reconfigure action to fan out to all component pods:
This is paired with the KubeBlocks controller-side action parameter alias fix, which passes both raw and shell-safe parameters such as
maxmemory-policyandMAXMEMORY_POLICY.Related KubeBlocks issue/PR:
Validation
Repeated R08a-only validation passed 3 consecutive clean samples using controller-side alias plus this addon fan-out behavior, with no runtime closure check:
valkey-178-r1-000106 / vlk-v178-r1-000106SucceedFinished3/3 volatile-lru3/3 allkeys-lru3/3 allkeys-lruvalkey-178-r2-000703 / vlk-v178-r2-000703SucceedFinished3/3 volatile-lru3/3 allkeys-lru3/3 allkeys-lruvalkey-178-r3-001126 / vlk-v178-r3-001126SucceedFinished3/3 volatile-lru3/3 allkeys-lru3/3 allkeys-lru