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

Kai Sasaki commented on HDFS-8602:
----------------------------------

{code}
    while (true) {
      DNAddrPair addressPair = chooseDataNode(block, null);
      try {
        actualGetFromOneDataNode(addressPair, block, start, end,
            buf, offset, corruptedBlockMap);
        return;
      } catch (IOException e) {
        // Ignore. Already processed inside the function.
        // Loop through to try the next node.
      }
    }
{code}

[~walter.k.su] Thank you for advice! {DFSInputStream#fetchBlockByteRange} 
ignores. {{actualGetFromOneDataNode}} seems handling next datanode. These logic 
does not implemented in {{DFSStripedInputStream}}. Thank you.

> Erasure Coding: Client can't read(decode) the EC files which have corrupt 
> blocks.
> ---------------------------------------------------------------------------------
>
>                 Key: HDFS-8602
>                 URL: https://issues.apache.org/jira/browse/HDFS-8602
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Takanobu Asanuma
>            Assignee: Kai Sasaki
>             Fix For: HDFS-7285
>
>
> Before the DataNode(s) reporting bad block(s), when Client reads the EC file 
> which has bad blocks, Client gets hung up. And there are no error messages.
> (When Client reads the replicated file which has bad blocks, the bad blocks 
> are reconstructed at the same time, and Client can reads it.)



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

Reply via email to