[ 
https://issues.apache.org/jira/browse/IGNITE-19763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Uttsel updated IGNITE-19763:
-----------------------------------
    Summary: Changing empty stable assignments to not empty pending 
assignments.  (was: Changing empty stable assignments on not empty pending 
assignments.)

> Changing empty stable assignments to not empty pending assignments.
> -------------------------------------------------------------------
>
>                 Key: IGNITE-19763
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19763
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Sergey Uttsel
>            Priority: Major
>              Labels: ignite-3, tech-debt
>
> 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