[
https://issues.apache.org/jira/browse/IGNITE-16353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vyacheslav Koptilin updated IGNITE-16353:
-----------------------------------------
Labels: ignite-3 (was: )
> Implement update of changePeers peers through cancel-rerun strategy
> -------------------------------------------------------------------
>
> Key: IGNITE-16353
> URL: https://issues.apache.org/jira/browse/IGNITE-16353
> Project: Ignite
> Issue Type: Task
> Reporter: Kirill Gusakov
> Priority: Major
> Labels: ignite-3
>
> We need to handle the case, when we already have in progress raft group
> configuration change process, but need to update the list of target peers.
> We can do it, only when the current reconfiguration is in the
> STAGE_CATCHING_UP phase.
> * Implement cancelReconfiguration(leaderTerm), which will
> ** Cancel current reconfiguration, if in STAGE_CATCHING_UP phase and returns
> true. Returns true if no current reconfiguration too.
> ** Returns false otherwise
> * Listen planned assignments key. On any updates: check if the current node
> is a group leader and if yes:
> ** Call cancelReconfiguration and if it returns false - do nothing
> ** If true - put received planned list of peers to pending assignments in
> metastore
> * Also, onLeaderElected() listener must be updated with the similar logic
> Then, all needed actions must be started by the further logic on event about
> pending assignments update.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)