[
https://issues.apache.org/jira/browse/IGNITE-23750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Efremov updated IGNITE-23750:
-------------------------------------
Epic Link: IGNITE-23862 (was: IGNITE-22313)
> Moving rebalance failover to Replica instead ReplicaStateManager
> ----------------------------------------------------------------
>
> Key: IGNITE-23750
> URL: https://issues.apache.org/jira/browse/IGNITE-23750
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mikhail Efremov
> Assignee: Mikhail Efremov
> Priority: Major
> Labels: ignite-3
>
> *Description*
> After IGNITE-22036 there was a temporal solution to place a rebalance
> failover into {{ReplicaStateManager}}'s methods {{onPrimaryElected}} and
> {{onPrimaryExpired}}. This solution works mostly, but there are concerns
> about possible {{null}} value on getting replica's future attempts.
> The perfect and most semantically right solution is to place failover into
> {{Replica}} implementation.
> *Motivation*
> * Replica contains needed raft client already.
> * We couldn't have a situation with non-existing replica like
> {{ReplicaStateManager}} has.
> * Semantically, if we move failover's actor to a primary replica, then the
> failover's implementation should be placed incide of primary replica's entity.
> *Definition of Done*
> * There is no more failover handling in {{ReplicaStateManager}}.
> * The failover implementation is moved into {{Replica}}'s implementation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)