jemc opened a new issue, #2848: URL: https://github.com/apache/kvrocks/issues/2848
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/kvrocks/issues) and found no similar issues. ### Motivation Redis has a [FAILOVER](https://redis.io/docs/latest/commands/failover/) command which can be used to gracefully switch which node is the master node in a multi-node (non-cluster) setup. The details are [described in the documentation](https://redis.io/docs/latest/commands/failover/), but the gist is that it will gracefully pauses writes on the master until at least one replica catches up, then make that replica a master and make the old master into a replica of it. A command like this is necessary for doing per-node maintenance windows in a rolling fashion, keeping high availability without downtime. Apache KVRocks advertises that you can operate it in high availability mode with Redis Sentinel, so I was quite surprised to see that this feature doesn't exist. I can't really treat this as a high availability system without this feature, as there is no clean way to take down a node for maintenance without causing downtime for applications. ### Solution Implement a Redis-compatible `FAILOVER` command. ### Are you willing to submit a PR? - [ ] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
