[ 
https://issues.apache.org/jira/browse/HDDS-6518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17530296#comment-17530296
 ] 

Kaijie Chen commented on HDDS-6518:
-----------------------------------

Thanks for the info, [~umamaheswararao]. Yes this task is for Coordinator DN to 
read the data and send the reconstructed data.

It will be better if we can reuse client code for read and reconstruct data as 
in HDDS-6665.

But seems we still need call ListBlock to get the list of missing blocks, which 
was not supported in current rpcClient (XceiverClientGrpc).

 

As for the data transfer between Coordinator and Targets, I will follow the 
discussion in slack.

> 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]

Reply via email to