[
https://issues.apache.org/jira/browse/HDDS-6518?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kaijie Chen updated HDDS-6518:
------------------------------
Description:
When replicating EC containers, we need more rpc than copy container.
h3. CoordinatorDN -> HealthyDN
This patch adds support for {{ContainerCommand}} in replication service.
Server Side:
# Added command handler to dispatch container command requests.
Client Side:
# Added {{readContainer()}} to get number of total blocks to list.
# Added {{listBlock()}} to list blocks in a container.
# Added {{readChunk()}} to read the data from healthy datanodes.
h3. CoordinatorDN -> TargetDN
The CoordinatorDN should push the chunks to the TargetDN after computing
missing blocks.
{{WriteChunkProto}} without {{data}} means the end of the container.
Push is chosen for following reasons:
# CoordinatorDN does not need to hold the missing blocks for long.
# CoordinatorDN can controll the progress of the recovery.
Server Side:
# Added dummy command handler for push chunk and start recovery.
Client Side:
# Added {{writeChunk()}} to push chunks to target datanodes.
> EC: Add rpc for EC recovery in replication service
> --------------------------------------------------
>
> Key: HDDS-6518
> URL: https://issues.apache.org/jira/browse/HDDS-6518
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Kaijie Chen
> Assignee: Kaijie Chen
> Priority: Major
> Labels: pull-request-available
>
> When replicating EC containers, we need more rpc than copy container.
> h3. CoordinatorDN -> HealthyDN
> This patch adds support for {{ContainerCommand}} in replication service.
> Server Side:
> # Added command handler to dispatch container command requests.
> Client Side:
> # Added {{readContainer()}} to get number of total blocks to list.
> # Added {{listBlock()}} to list blocks in a container.
> # Added {{readChunk()}} to read the data from healthy datanodes.
> h3. CoordinatorDN -> TargetDN
> The CoordinatorDN should push the chunks to the TargetDN after computing
> missing blocks.
> {{WriteChunkProto}} without {{data}} means the end of the container.
> Push is chosen for following reasons:
> # CoordinatorDN does not need to hold the missing blocks for long.
> # CoordinatorDN can controll the progress of the recovery.
> Server Side:
> # Added dummy command handler for push chunk and start recovery.
> Client Side:
> # Added {{writeChunk()}} to push chunks to target datanodes.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]