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]

Reply via email to