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)