[ 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)