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