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)

Reply via email to