Kaustubh1204 opened a new pull request, #374: URL: https://github.com/apache/kvrocks-controller/pull/374
This PR implements comprehensive safeguards against the split-brain scenario in kvrocks-controller as described in Issue #329. ### Key Fixes: 1. **Reliable Failure Detection**: `probeNode()` now performs quorum verification to prevent false-positive failovers. 2. **Node Fencing**: `promoteNewMaster()` explicitly demotes the old master before promoting a new one. 3. **Conditional Store Writes**: `UpdateCluster()` validates the controller’s leader lease to block Zombie Controllers. 4. **Atomic Failover Flow**: Promotion and persistence are now sequenced to prevent the irreversible split-brain point. ### Verification: - Specialized unit tests (`split_brain_test.go`) confirm Zombie Controllers are blocked and quorum checks work. - Existing cluster tests updated and passing. All critical safety invariants are enforced, preventing both control-plane and data-plane split-brain scenarios. -- 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]
