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

Walter Su commented on HDFS-8619:
---------------------------------

bq. why removing the if-condition below? Is the condition always true?
I think it is.

The change to {{markBlockAsCorrupt}} and {{invalidateBlock}} is valid for 
striped block. One issue:
1. fsck identifies corrupted file by {{LocatedBlock#corrupt}}. 
{{LocatedBlock#corrupt}} is from
{code}
//BlockManager#createLocatedBlock(final BlockInfo blk, ...
final boolean isCorrupt = numCorruptNodes != 0 && numCorruptNodes == numNodes;
{code}
Assume blockGroup size is 9, and 8 of them is corrupted, so it's impossible to 
recover. In this case, {{isCorrupt}} should be true so fsck can identifies this 
file.

> Erasure Coding: revisit replica counting for striped blocks
> -----------------------------------------------------------
>
>                 Key: HDFS-8619
>                 URL: https://issues.apache.org/jira/browse/HDFS-8619
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Jing Zhao
>            Assignee: Jing Zhao
>         Attachments: HDFS-8619.000.patch
>
>
> Currently we use the same {{BlockManager#countNodes}} method for striped 
> blocks, which simply treat each internal block as a replica. However, for a 
> striped block, we may have more complicated scenario, e.g., we have multiple 
> replicas of the first internal block while we miss some other internal 
> blocks. Using the current {{countNodes}} methods can lead to wrong decision 
> in these scenarios.



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

Reply via email to