HDFS-7837. Erasure Coding: allocate and persist striped blocks in NameNode. Contributed by Jing Zhao.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/edc476bf Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/edc476bf Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/edc476bf Branch: refs/heads/HDFS-7285 Commit: edc476bfce31e8e9b20ad9b23a8312e186dc8cab Parents: 35a08d8 Author: Jing Zhao <[email protected]> Authored: Mon Mar 2 13:44:33 2015 -0800 Committer: Jing Zhao <[email protected]> Committed: Mon Mar 9 13:21:19 2015 -0700 ---------------------------------------------------------------------- .../hdfs/server/blockmanagement/DecommissionManager.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/edc476bf/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java index dc17abe..3765dd0 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DecommissionManager.java @@ -545,7 +545,7 @@ public class DecommissionManager { int underReplicatedInOpenFiles = 0; while (it.hasNext()) { numBlocksChecked++; - final BlockInfoContiguous block = (BlockInfoContiguous) it.next(); + final BlockInfo block = it.next(); // Remove the block from the list if it's no longer in the block map, // e.g. the containing file has been deleted if (blockManager.blocksMap.getStoredBlock(block) == null) { @@ -579,8 +579,9 @@ public class DecommissionManager { } // Even if the block is under-replicated, - // it doesn't block decommission if it's sufficiently replicated - if (isSufficientlyReplicated(block, bc, num)) { + // it doesn't block decommission if it's sufficiently replicated + BlockInfoContiguous blk = (BlockInfoContiguous) block; + if (isSufficientlyReplicated(blk, bc, num)) { if (pruneSufficientlyReplicated) { it.remove(); } @@ -589,7 +590,7 @@ public class DecommissionManager { // We've found an insufficiently replicated block. if (insufficientlyReplicated != null) { - insufficientlyReplicated.add(block); + insufficientlyReplicated.add(blk); } // Log if this is our first time through if (firstReplicationLog) {
