I have a cluster with the following settings.

  • redis cluster config
cluster-enabled yes
cluster-config-file /etc/redis/nodes.conf
cluster-node-timeout 5000
cluster-replica-validity-factor 0
cluster-replica-no-failover no
  • node list
M1 192.168.1.10:7000@17000 master,fail  -          1570083223471       1570083223270       2            disconnected   0-16383
S1 192.168.1.11:7000@17000 myself,slave M1         0                   1570096358000       1            connected
M2 192.168.1.12:7000@17000 master       -          0                   1570096359555       0            connected
M3 192.168.1.13:7000@17000 master       -          0                   1570096357546       3            connected

When the redis process on node M1 stops, the following log message is output and failover is not possible.

  • S1
06:14:30.581 # Currently unable to failover: Waiting the delay before I can start a new failover.
06:14:31.284 # Starting a failover election for epoch 6.
06:14:31.385 # Currently unable to failover: Waiting for votes, but majority still not reached.
06:14:41.229 # Currently unable to failover: Failover attempt expired.
  • M2、M3
06:11:05.895 # Cluster state changed: ok
06:13:48.511 # Cluster state changed: fail
06:13:48.808 * Marking node M1 as failing (quorum reached).

Why doesn't it fail over? Is the setting I made wrong?

Comment From: 11ohina017

My settings were wrong. This was because the slot was not assigned to any other master (M2, M1) other than M1. konawanai yōdesu. Masters who do not assign slots are no different from Slaves and do not seem to vote.

Comment From: purpletsy

@11ohina017 hi,I also found the same issue on my redis cluster .Could you tell me how you solved the issue?Thanks