redis
config_error
ai_generated
true
ERR Node timeout mismatch: expected 15000 but got 30000 from node 127.0.0.1:7001
ID: redis/cluster-node-timeout-mismatch
85%Fix Rate
88%Confidence
1Evidence
2023-11-20First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| Redis 7.0.0 | active | — | — | — |
| Redis 7.2.4 | active | — | — | — |
| Redis 6.2.14 | active | — | — | — |
Root Cause
Redis cluster nodes have inconsistent cluster-node-timeout values, preventing them from forming a coherent cluster.
generic中文
Redis 集群节点的 cluster-node-timeout 值不一致,阻止它们形成一致的集群。
Official Documentation
https://redis.io/docs/latest/operate/oss_and_stack/management/scaling/Workarounds
-
90% success Set consistent cluster-node-timeout on all nodes by editing redis.conf: cluster-node-timeout 15000. Then restart each node gracefully: redis-cli -p 7001 SHUTDOWN NOSAVE; redis-server /path/to/redis.conf. Verify with CLUSTER INFO.
Set consistent cluster-node-timeout on all nodes by editing redis.conf: cluster-node-timeout 15000. Then restart each node gracefully: redis-cli -p 7001 SHUTDOWN NOSAVE; redis-server /path/to/redis.conf. Verify with CLUSTER INFO.
-
85% success Use CONFIG SET cluster-node-timeout 15000 on each node, then CONFIG REWRITE to persist. Example: redis-cli -p 7001 CONFIG SET cluster-node-timeout 15000 && redis-cli -p 7001 CONFIG REWRITE.
Use CONFIG SET cluster-node-timeout 15000 on each node, then CONFIG REWRITE to persist. Example: redis-cli -p 7001 CONFIG SET cluster-node-timeout 15000 && redis-cli -p 7001 CONFIG REWRITE.
-
75% success If nodes are already in a failed state, use CLUSTER FORGET to remove misconfigured nodes, fix their config, and rejoin them with CLUSTER MEET.
If nodes are already in a failed state, use CLUSTER FORGET to remove misconfigured nodes, fix their config, and rejoin them with CLUSTER MEET.
中文步骤
Set consistent cluster-node-timeout on all nodes by editing redis.conf: cluster-node-timeout 15000. Then restart each node gracefully: redis-cli -p 7001 SHUTDOWN NOSAVE; redis-server /path/to/redis.conf. Verify with CLUSTER INFO.
Use CONFIG SET cluster-node-timeout 15000 on each node, then CONFIG REWRITE to persist. Example: redis-cli -p 7001 CONFIG SET cluster-node-timeout 15000 && redis-cli -p 7001 CONFIG REWRITE.
If nodes are already in a failed state, use CLUSTER FORGET to remove misconfigured nodes, fix their config, and rejoin them with CLUSTER MEET.
Dead Ends
Common approaches that don't work:
-
95% fail
Restarting doesn't change configuration values. The mismatch is in the config files, not a transient state.
-
80% fail
This command sets the config epoch for failover, not the cluster-node-timeout. It doesn't address the timeout mismatch.
-
70% fail
CONFIG SET changes the runtime value but may not persist after restart. Also, the cluster may reject the change if nodes are already in a mixed state.