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

Walter Su commented on HDFS-8669:
---------------------------------

Patch looks good. It passed simple local test. some minor issues:
1. should be {{>}}
{code}
    if (alignedStripe.missingChunksNum >= parityBlkNum) { //checkMissingBlocks()
{code}
2.should check missing blocks after first round of read. And you add 
checkMissingBlocks() at the end of readDataForDecoding(), how about add it at 
the end of readParityChunks(int) either?
{code}
    void readStripe() throws IOException {
      for (int i = 0; i < dataBlkNum; i++) {...}
+     checkMissingBlocks();
      // There are missing block locations at this stage. Thus we need to read
{code}

> Erasure Coding: handle missing internal block locations in 
> DFSStripedInputStream
> --------------------------------------------------------------------------------
>
>                 Key: HDFS-8669
>                 URL: https://issues.apache.org/jira/browse/HDFS-8669
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Jing Zhao
>            Assignee: Jing Zhao
>         Attachments: HDFS-8669.000.patch
>
>
> Currently DFSStripedInputStream assumes we always have complete internal 
> block location information, i.e., we can always get all the DataNodes for a 
> striped block group. In a lot of scenarios the client cannot get complete 
> block location info, e.g., some internal blocks are missing and the NameNode 
> has not finished the recovery yet. We should add functionality to handle 
> missing block locations in DFSStripedInputStream.



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

Reply via email to