Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
We need an API (with implementation) that's analogous to "reset-lost-partitions", but with the ability to reuse living minority of nodes.
This API should gather the states of partitions, identify healthy peers, and use them as a new raft group configuration (through the update of assignments).
We have to make sure that node with latest log index will become a leader, so we will have to propagate desired minimum for log index in assignments and use it during the voting.
What's implemented
"resetPartitions" operation in distributed zone manager. It identifies partitions where only a minority of nodes is online (thus they won't be able to execute "changePeersAsync"), and writes a "forced pending assignments" for them.
Forced assignment excludes stable nodes, that are not present in pending assignment, from a new raft group configuration. It also performs a "resetPeers" operation on alive nodes from the stable assignment.
Complete loss of all nodes from stable assignments is not yet implemented, at least one node is required to be elected as a leader.
Attachments
Issue Links
- blocks
-
IGNITE-21295 REST API for manual raft group configuration update
- Resolved
- links to