[ 
https://issues.apache.org/jira/browse/HDFS-13527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

hemanthboyina reassigned HDFS-13527:
------------------------------------

    Assignee: hemanthboyina

> craeteLocatedBlock IsCorrupt logic is fault when all block are corrupt.
> -----------------------------------------------------------------------
>
>                 Key: HDFS-13527
>                 URL: https://issues.apache.org/jira/browse/HDFS-13527
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs, namenode
>    Affects Versions: 3.2.0
>            Reporter: maobaolong
>            Assignee: hemanthboyina
>            Priority: Major
>
> the step is:
> 1. put a small file into hdfs FILEPATH
> 2. remove block replicas in all datanode blockpool.
> 3. restart datanode
> 4. restart namenode( leave safemode)
> 5. hdfs fsck FILEPATH -files -blocks  -locations 
> 6. namenode think this block is not corrupt block.
> the code logic is:
> {code:java}
> // get block locations
>     NumberReplicas numReplicas = countNodes(blk);
>     final int numCorruptNodes = numReplicas.corruptReplicas();
>     final int numCorruptReplicas = corruptReplicas.numCorruptReplicas(blk);
>     if (numCorruptNodes != numCorruptReplicas) {
>       LOG.warn("Inconsistent number of corrupt replicas for {}"
>           + " blockMap has {} but corrupt replicas map has {}",
>           blk, numCorruptNodes, numCorruptReplicas);
>     }
>     final int numNodes = blocksMap.numNodes(blk);
>     final boolean isCorrupt;
>     if (blk.isStriped()) {
>       BlockInfoStriped sblk = (BlockInfoStriped) blk;
>       isCorrupt = numCorruptReplicas != 0 &&
>           numReplicas.liveReplicas() < sblk.getRealDataBlockNum();
>     } else {
>       isCorrupt = numCorruptReplicas != 0 && numCorruptReplicas == numNodes;
>     }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to