Denis Chudov created IGNITE-17015:
-------------------------------------

             Summary: Perform rebalance on node recovery before join 
                 Key: IGNITE-17015
                 URL: https://issues.apache.org/jira/browse/IGNITE-17015
             Project: Ignite
          Issue Type: Bug
            Reporter: Denis Chudov


For now, there is only one condition for distributed recovery completion - it's 
meta storage catch-up (see {{ 
org.apache.ignite.internal.recovery.RecoveryCompletionFutureFactory#create }} 
). During recovery raft groups for tables start. So, rebalance is able to start 
during recovery and we can just wait for it in recovery completion future.
Rebalance should be performed for those tables which assignments are up-to-date 
with the cluster, i.e. it should start after meta storage catch-up.
Rebalance should be considered as completed after successful read from local 
node. It can be implemented after implementation of consistent read from 
backups (see IGNITE-16767), which incapsulates following logic: consistent read 
is possible either when local raft log is replicated and consistent with 
leader, i.e. local index and leader index are the same, or when read with 
safe-time* is successul. 

*Safe-time is some timestamp. All updates which have less or equal timestamp 
than safe-time are already replicated on this node.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to