You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by " Kirill Sizov (Jira)" <ji...@apache.org> on 2025/04/16 08:02:00 UTC

[jira] [Comment Edited] (IGNITE-24330) Revise DisasterRecoveryManager API in alignment with Colocation track

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