You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Gusakov (Jira)" <ji...@apache.org> on 2022/01/23 23:45:00 UTC

[jira] [Updated] (IGNITE-16353) Implement update of changePeers peers through cancel-rerun strategy

     [ https://issues.apache.org/jira/browse/IGNITE-16353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kirill Gusakov updated IGNITE-16353:
------------------------------------
    Description: 
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, onLeaderChanged() 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.

> 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
>
> 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, onLeaderChanged() 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)