Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Motivation and all preliminary details could be found in the investigation ticket.
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 new module that is earlier in the hierarchy than distributionzones module
- New DisasterRecoveryService should also provide logic of registering handlers for DisasterRecoveryRequest
- Handler for GroupUpdateRequest must be implemented in the new introduced module
- Handler for ManualGroupRestartRequest must be implemented in table.distributed.disaster
- All logic of globalPartitionStates(), localPartitionStates must be also moved from table.distributed.disaster to the new module
- That means that we need to refactor also org.apache.ignite.internal.partition.replicator.network.PartitionReplicationMessageGroup.DisasterRecoveryMessages and move it to new module, so it will be possible to call logic of retrieving partitions state from distributionzones