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)