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

Zhe Zhang commented on HDFS-7348:
---------------------------------

Thanks Yi for the updated patch! It basically LGTM; please find a few nits 
below. I think we are good to go after they are fixed:

# The comment line "<- Decode and transfer <code>bufferSize</code> data each 
time" is too long.
# In the main run loop, {{success}} and {{success4Target}} look a little 
confusing. Since we expect most nodes to be up, maybe we should keep track of 
{{badNodes}} like {{DFSInputStream}} instead of good ones? {{success4Target}} 
could be {{targetsStatus}} and could be a {{BitSet}}? It'd also be good to make 
these 2 consistent, something like {{sourcesStatus}} and {{targetsStatus}}?
# I guess somewhere in the code (not necessarily in this path) we should assert 
all internal blocks indeed share the same checksum?
{code}
    private void initChecksumAndBufferSizeIfNeeded(BlockReader blockReader) {
      if (checksum == null) {
        checksum = blockReader.getDataChecksum();
{code}
# The below TODO message is a little misleading. The current code actually 
works correctly even if only 1 block is missing. Maybe "The current decode 
method always try to decode parityBlkNum number of data blocks"
{code}
////////// Following decode code only works for parityBlkNum number of data 
blocks missed. ////////////
{code}
# I filed HDFS-8320 and will try to consolidate this patch and HDFS-7678 there. 
Will try to post a patch this week.

> Erasure Coding: striped block recovery
> --------------------------------------
>
>                 Key: HDFS-7348
>                 URL: https://issues.apache.org/jira/browse/HDFS-7348
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>            Reporter: Kai Zheng
>            Assignee: Yi Liu
>         Attachments: ECWorker.java, HDFS-7348.001.patch, HDFS-7348.002.patch
>
>
> This JIRA is to recover one or more missed striped block in the striped block 
> group.



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

Reply via email to