You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mirza Aliev (Jira)" <ji...@apache.org> on 2024/11/08 12:59:00 UTC

[jira] [Updated] (IGNITE-23640) Implements refactoring of DisasterRecoveryManager

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

Mirza Aliev updated IGNITE-23640:
---------------------------------
    Description: 
Motivation and all preliminary details could be found in the investigation [ticket|https://issues.apache.org/jira/browse/IGNITE-23636].

In this ticket we provide plan for the development: 

* Move all logic from {{DisasterRecoveryManager#resetPartitions}} which uses requests with {{operationIds}}, {{RECOVERY_TRIGGER_KEY}} and writing such requests to MS, to a separate class, let's name it {{DisasterRecoveryService}}
* Let's place it in {{distributionzones}} module
* New {{DisasterRecoveryService}} should also provide logic of registering handlers for {{DisasterRecoveryRequest}}
* Handler for {{GroupUpdateRequest}} must be implemented in {{distributionzones}}
* Handler for {{ManualGroupRestartRequest}} must be implemented in {{table.distributed.disaster}}
* All logic of {{globalPartitionStates()}}, {{localPartitionStates}} must be also moved from {{table.distributed.disaster}} to  {{distributionzones}}
* That means that we need to refactor also {{org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.DisasterRecoveryMessages}} and move it, so it will be possible to call logic of retrieving partitions state from {{distributionzones}}

  was:
Motivation and all preliminary details could be found in he investigation [ticket|https://issues.apache.org/jira/browse/IGNITE-23636].

In this ticket we provide plan for the development: 

* Move all logic from {{DisasterRecoveryManager#resetPartitions}} which uses requests with {{operationIds}}, {{RECOVERY_TRIGGER_KEY}} and writing such requests to MS, to a separate class, let's name it {{DisasterRecoveryService}}
* Let's place it in {{distributionzones}} module
* New {{DisasterRecoveryService}} should also provide logic of registering handlers for {{DisasterRecoveryRequest}}
* Handler for {{GroupUpdateRequest}} must be implemented in {{distributionzones}}
* Handler for {{ManualGroupRestartRequest}} must be implemented in {{table.distributed.disaster}}
* All logic of {{globalPartitionStates()}}, {{localPartitionStates}} must be also moved from {{table.distributed.disaster}} to  {{distributionzones}}
* That means that we need to refactor also {{org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.DisasterRecoveryMessages}} and move it, so it will be possible to call logic of retrieving partitions state from {{distributionzones}}


> Implements refactoring of DisasterRecoveryManager
> -------------------------------------------------
>
>                 Key: IGNITE-23640
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23640
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Mirza Aliev
>            Priority: Major
>              Labels: ignite-3
>
> Motivation and all preliminary details could be found in the investigation [ticket|https://issues.apache.org/jira/browse/IGNITE-23636].
> In this ticket we provide plan for the development: 
> * Move all logic from {{DisasterRecoveryManager#resetPartitions}} which uses requests with {{operationIds}}, {{RECOVERY_TRIGGER_KEY}} and writing such requests to MS, to a separate class, let's name it {{DisasterRecoveryService}}
> * Let's place it in {{distributionzones}} module
> * New {{DisasterRecoveryService}} should also provide logic of registering handlers for {{DisasterRecoveryRequest}}
> * Handler for {{GroupUpdateRequest}} must be implemented in {{distributionzones}}
> * Handler for {{ManualGroupRestartRequest}} must be implemented in {{table.distributed.disaster}}
> * All logic of {{globalPartitionStates()}}, {{localPartitionStates}} must be also moved from {{table.distributed.disaster}} to  {{distributionzones}}
> * That means that we need to refactor also {{org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.DisasterRecoveryMessages}} and move it, so it will be possible to call logic of retrieving partitions state from {{distributionzones}}



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