[ 
https://issues.apache.org/jira/browse/HDFS-9719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kai Zheng updated HDFS-9719:
----------------------------
    Attachment: HDFS-9719-v1.patch

Uploaded a patch refactoring as described. Now the large class 
{{ErasureCodingWorker}} is broken down into 3 components:
* {{StripedReaders}}, consisting of {{StripedReader}} that reads from a source;
* {{StripedWriters}}, consisting of {{StripedWriter}} that writes to a target; 
* {{StripedReconstructor}}, performing to read sources using StripedReaders, 
peforming the reconstruction work, and writing to targets using StripedWriters.

The result codes are much balanced and some components can be slightly changed 
to reuse in other situations, like HDFS-8430. 

For convenience, the patch also includes HADOOP-12744.

> Refactoring ErasureCodingWorker into smaller reusable constructs
> ----------------------------------------------------------------
>
>                 Key: HDFS-9719
>                 URL: https://issues.apache.org/jira/browse/HDFS-9719
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>         Attachments: HDFS-9719-v1.patch
>
>
> This would suggest and refactor {{ErasureCodingWorker}} into smaller 
> constructs to be reused in other places like block group checksum computing 
> in datanode side. As discussed in HDFS-8430 and implemented in HDFS-9694 
> patch, checksum computing for striped block groups would be distributed to 
> datanode in the group, where data block data should be able to be 
> reconstructed when missed/corrupted to recompute the block checksum. The most 
> needed codes are in the current ErasureCodingWorker and could be reused in 
> order to avoid duplication. Fortunately, we have very good and complete 
> tests, which would make the refactoring much easier. The refactoring will 
> also help a lot for subsequent tasks in phase II for non-striping erasure 
> coded files and blocks. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to