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

Denis Chudov updated IGNITE-20210:
----------------------------------
    Summary: Start partitions on corresponding assignments.stable, calculate if 
missing, cleanup obsolete resources (part 1)  (was: Start partitions on 
corresponding assignments.stable, calculate if missing, cleanup obsolete 
resources)

> Start partitions on corresponding assignments.stable, calculate if missing, 
> cleanup obsolete resources (part 1)
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-20210
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20210
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Assignee: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> Please check https://issues.apache.org/jira/browse/IGNITE-20187 and 
> https://issues.apache.org/jira/browse/IGNITE-20209 for more details. This 
> ticket is about assignments stable catch-up. Obviously there are the 
> following possibilities:
>  # Assignments.stable are present - just start table locally. Basically it is 
> IGNITE-20187 but not for assignments pending but stable.
>  # Assignemnts stable are missing. Well it's the same as IGNITE-20209 but for 
> table creation triggers and not rebalance ones.
> Besides that it's nessessary to cleanup obsolete resourves e.g. raft and 
> partitions storages.
> Currently, all that stuff is implemented incorrectly through:
> {code:java}
> if (partitionAssignments(vaultManager, tableId, 0) != null) {
>     assignmentsFuture = completedFuture(tableAssignments(vaultManager, 
> tableId, zoneDescriptor.partitions()));
> } else {
>     assignmentsFuture = 
> distributionZoneManager.dataNodes(ctx.storageRevision(), 
> tableDescriptor.zoneId())
>             .thenApply(dataNodes -> AffinityUtils.calculateAssignments(
>                     dataNodes,
>                     zoneDescriptor.partitions(),
>                     zoneDescriptor.replicas()
>             ));
> } {code}
> h3. Definition of Done
>  * Assignments.stable update is properly catched-up on top of corresponding 
> table creation triggers.
>  * Partitions start up is implemented trough assignments.stable instead of 
> table cfg triggers along with assignments recalculation, like it's 
> implemented now.
>  * Obsolete partition storages are removed on node restart.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to