[ 
https://issues.apache.org/jira/browse/IGNITE-21284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17822121#comment-17822121
 ] 

Kirill Tkalenko commented on IGNITE-21284:
------------------------------------------

Looks good.

> 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)

Reply via email to