[
https://issues.apache.org/jira/browse/IGNITE-21284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko updated IGNITE-21284:
-------------------------------------
Reviewer: Kirill Tkalenko
> Internal API for manual raft group configuration update
> -------------------------------------------------------
>
> Key: IGNITE-21284
> URL: https://issues.apache.org/jira/browse/IGNITE-21284
> Project: Ignite
> Issue Type: Improvement
> Reporter: Ivan Bessonov
> Assignee: Ivan Bessonov
> Priority: Major
> Labels: ignite-3
> Time Spent: 4h 50m
> Remaining Estimate: 0h
>
> 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.
> h2. 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)