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)