Dear redis community,
I am currently trying to gain a deeper understanding for sentinel 2.8.4, mainly for the conditions that bring the message NOGOODSLAVE while trying a failover.
The following scenario:
Let's say all my sentinel servers report SDOWN for a master that has one replicated slave. (ODOWN won't be reached because of a higher quorum that I set on purpose. I do not want to have an immediate failover done by sentinel at the moment). There is no real traffic on both machines. After waiting maybe a minute, two or three I execute in one of the sentinels: sentinel failover <mastername>.
When I do this in sentinel 2.6 it works fine and as expected (well, at least by me):
The one and only existing slave is promoted to become master no matter what (there is no alternative anyway), the sentinel servers start to communicate with each other. Failover succeeded. Each sentinel knows about the new master. I got a master running and an updated sentinel config on all servers
In Sentinel 2.8 I cannot do the manual failover with the same settings described above (waiting a few minutes, …), I receive: (error) NOGOODSLAVE No suitable slave to promote.
So I am wondering about two things:
* Why has this slave become bad? (maybe a question too unspecific …)
* How could I tell sentinel not to judge in this case (with one single slave)? I do not have a better slave anyway :-)
And somehow connected to the story above: Can I still tell senitel servers somehow not to failover even if the judgement is ODOWN? In 2.6 there was this option: "can-failover no" in the config file ...
Any hints would be very much appreciated! Thank you very much!
Best regards,
Karl