thinker0 opened a new issue, #3496: URL: https://github.com/apache/kvrocks/issues/3496
## Summary Redis Cluster's `CLUSTER FAILOVER [FORCE|TAKEOVER]` lets an operator promote a replica to master, either for planned maintenance or when the current master is unreachable. Apache Kvrocks rejects the command: ``` > CLUSTER FAILOVER FORCE -ERR CLUSTER command, CLUSTER INFO|NODES|SLOTS|KEYSLOT|RESET|REPLICAS > CLUSTERX FAILOVER FORCE -ERR CLUSTERX command, CLUSTERX VERSION|MYID|SETNODEID|SETNODES|SETSLOT|MIGRATE ``` So neither `CLUSTER` nor the kvrocks-specific `CLUSTERX` namespace implements failover. ## Why this matters Without `CLUSTER FAILOVER`, the only recovery path when a master is stuck is to delete and recreate the cluster via the controller, which is disruptive even when a fully synced replica is available. In controller-managed deployments, the controller's automated failover (ping-based) is the only mechanism — and it does not always trigger in practice (e.g. we waited >2 min with `ping_interval_seconds=5` and `min_alive_size=2` after a single master task restart and no promotion happened). ## Expected Implement Redis-compatible `CLUSTER FAILOVER [FORCE|TAKEOVER]`, at minimum `TAKEOVER` for the operator-driven case where the existing master is known to be unreachable. Both replicas and clients then have a standards-compliant way to recover from a stuck master. ## Versions - Apache Kvrocks 2.15.0 -- 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]
