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