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