Sergey Uttsel created IGNITE-19763: -------------------------------------- Summary: Changing empty stable assignments on not empty pending assignments. Key: IGNITE-19763 URL: https://issues.apache.org/jira/browse/IGNITE-19763 Project: Ignite Issue Type: Bug Reporter: Sergey Uttsel
h3. *Motivation* After https://issues.apache.org/jira/browse/IGNITE-19466 will be implemented It will be possible to create a table without data nodes in the distribution zone. Then we will face another issue. Current flow of changing pending assignments: # When the zone is updated and has a data nodes then the rebalance will start on new data nodes. # The method handleChangePendingAssignmentEvent receives an empty stableAssignments and not empty pendingAssignments. # handleChangePendingAssignmentEvent invokes startRaftGroupNode to start raft group node with stable assignment and then invokes changePeersAsync with pendingAssignments. Then it start Replica, PartitionReplicaListener. # After that starts change peers on new assignment. It doesn't work properly because if previous stableAssignments is empty then it is not possible to start raft group. And if raft group is not started then it is not possible to change peers. So if stableAssignments is empty then need to skip starting raft group with this assignments and start new raft group with pendingAssignments. h3. *Definition of Done* Started table without data nodes in the zone must work after data nodes are appeared. Need to properly starts all component of the table. -- This message was sent by Atlassian Jira (v8.20.10#820010)