[
https://issues.apache.org/jira/browse/IGNITE-18841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Gusakov updated IGNITE-18841:
------------------------------------
Ignite Flags: (was: Docs Required,Release Notes Required)
> Implement support of rebalance operation on PrimaryReplica
> ----------------------------------------------------------
>
> Key: IGNITE-18841
> URL: https://issues.apache.org/jira/browse/IGNITE-18841
> Project: Ignite
> Issue Type: Task
> Reporter: Kirill Gusakov
> Priority: Major
>
> According to the new [rebalance
> design|https://github.com/apache/ignite-3/blob/main/modules/distribution-zones/tech-notes/rebalance.md]
> PrimaryReplica must handle RebalanceRequest from PlacementDriver and
> propogate to the replication group. Also, if the replication group has
> leader-based protocol, it must resend the request to a new leader, in the
> case of leader reelection.
> PrimaryReplica <-> replication group communication must be implemented in a
> pluggable way, because we have plans to support different replication
> protocols. So, under this issue this communication should be designed and
> implemented for RAFT case.
> *Definition of done:*
> - PrimaryReplica must has mechanism to wait for all replicas, needed for
> RebalanceRequst(newPeers) (we can use AwaitReplicaRequest and send to
> multiple replicas)
> - When PrimaryReplica receives RebalanceRequest(newPeers) and all replicas is
> ready - it must invoke the rebalance() (RAFT changePeers at the moment) call
> on replication group.
> - When PrimaryReplica receives the message LeaderChanged from the leader of
> replication group - is must invoke rebalance() call too. So, RebalanceRequest
> supposed to be idempotent from the replication groups point of view.
> - When PrimaryReplica receives RebalanceDone message - it must propogate it
> to PlacementDriver
--
This message was sent by Atlassian Jira
(v8.20.10#820010)