[
https://issues.apache.org/jira/browse/IGNITE-16012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Gusakov updated IGNITE-16012:
------------------------------------
Description:
changePeers must be an asynchronous operation and returns as soon as a list of
peers is validated and STAGE_CATCHING_UP phase is started.
(Phase 1)
was:
We need to change
org.apache.ignite.raft.jraft.rpc.impl.RaftGroupServiceImpl#changePeers to
support the following scenarios:
- changePeers needs to support updating of in-progress changePeers:
{code:java}
if (leaderNode.cfgCtx.stage == STAGE_CATCHING_UP) {
<update the list of catching up peers>
return OK;
} else if (leaderNode.cfgCtx.stage == STAGE_NONE) {
if (leaderNode.currentPeers == newPeers) {
rebalanceListener.onRebalanceCommited();
return OK;
} else {
<start new changePeers>
return OK;
}
} else {
return BUSY; // it should be a signal to postpone new changePeers call
}{code}
- changePeers must be an asynchronous operation and returns as soon as
possible (after successful updating catching up nodes, if needed)
(Phase 1)
> Raft changePeers behavior must be updated to async version
> ----------------------------------------------------------
>
> Key: IGNITE-16012
> URL: https://issues.apache.org/jira/browse/IGNITE-16012
> Project: Ignite
> Issue Type: Task
> Reporter: Kirill Gusakov
> Priority: Major
> Labels: ignite-3
>
> changePeers must be an asynchronous operation and returns as soon as a list
> of peers is validated and STAGE_CATCHING_UP phase is started.
>
> (Phase 1)
--
This message was sent by Atlassian Jira
(v8.20.1#820001)