[
https://issues.apache.org/jira/browse/IGNITE-24330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17944974#comment-17944974
]
Kirill Sizov edited comment on IGNITE-24330 at 4/16/25 8:01 AM:
-----------------------------------------------------------------
Suggested changes:
- rename existing methods to {{resetTablePartitions}}
- Inline a test only method {{resetAllPartitions}}
- add new methods to work with zones:
{code:java}
public CompletableFuture<Void> resetPartitions(String zoneName, Set<Integer>
partitionIds)
...
public CompletableFuture<Void> resetPartitions(String zoneName, Set<Integer>
partitionIds, boolean manualUpdate, long triggerRevision)
{code}
- {{LocalPartitionStateByNode}} and {{GlobalPartitionState}} are now used with
Zones. Tables use {{LocalTablePartitionStateByNode}} and
{{GlobalTablePartitionState}}
was (Author: JIRAUSER301198):
Suggested changes:
- rename existing methods to {{resetTablePartitions}}
- Inline a test only method {{resetAllPartitions}}
- add new methods to work with zones:
{code:java}
public CompletableFuture<Void> resetPartitions(String zoneName, Set<Integer>
partitionIds)
...
public CompletableFuture<Void> resetPartitions(String zoneName, Set<Integer>
partitionIds, boolean manualUpdate, long triggerRevision)
{code}
> Revise DisasterRecoveryManager API in alignment with Colocation track
> ---------------------------------------------------------------------
>
> Key: IGNITE-24330
> URL: https://issues.apache.org/jira/browse/IGNITE-24330
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mirza Aliev
> Assignee: Kirill Sizov
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> In [collocation|https://issues.apache.org/jira/browse/IGNITE-22115] track we
> change the way how partitions are aligned with tables, so partitions will be
> the part of zones and tables in one zone will share common partitions from a
> zone.
> Currently, the DisasterRecoveryManager API for reset/restart partition
> operations is based on the assumption that partitions are tied to table
> entities.
> Example of {{resetPartitions}} method description:
> {code:java}
> * @param zoneName Name of the distribution zone. Case-sensitive, without
> quotes.
> * @param schemaName Schema name. Case-sensitive, without quotes.
> * @param tableName Table name. Case-sensitive, without quotes.
> * @param partitionIds IDs of partitions to reset. If empty, reset all
> zone's partitions.
> ....
> */
> private CompletableFuture<Void> resetPartitions(
> String zoneName,
> String schemaName,
> String tableName,
> Set<Integer> partitionIds,
> ...
> ) {
> {code}
> Problems with the current API:
> * The current API assumes partitions are part of a specific table, making it
> unclear how to handle partition resets in the new colocation model.
> * Users don't want to affect partition distribution across all tables in a
> zone when specifying a reset for a particular table.
>
> We need to provide a way to use the DisasterRecoveryManager API in a way that
> reflects the new colocation model, where partitions belong to zones rather
> than being tied to individual tables.
> As a solution, we could introduce a revised DisasterRecoveryManagerV2 API
> that removes direct table references and operates at the zone level. Once the
> colocation track is completed, we can switch to DisasterRecoveryManagerV2 and
> deprecate the existing implementation. However, it is still unclear which
> methods will be required and how they will impact table distribution.
> h3. Definition of Done
> * DisasterRecoveryManager API is enriched with the methods to work with zones
> partitions
--
This message was sent by Atlassian Jira
(v8.20.10#820010)