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

Reply via email to