[ 
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)

Reply via email to