[
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)