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)