Mikhail Efremov created IGNITE-23750:
----------------------------------------

             Summary: 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


*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