You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by yl...@apache.org on 2015/07/06 13:24:16 UTC
hadoop git commit: HDFS-8684. Erasure Coding: fix some block number
calculation for striped block. (yliu)
Repository: hadoop
Updated Branches:
refs/heads/HDFS-7285 0b7af27b9 -> ee01a0950
HDFS-8684. Erasure Coding: fix some block number calculation for striped block. (yliu)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ee01a095
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ee01a095
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ee01a095
Branch: refs/heads/HDFS-7285
Commit: ee01a09500224136464f2c3e0a5d9ba53242d93f
Parents: 0b7af27
Author: yliu <yl...@apache.org>
Authored: Mon Jul 6 19:14:18 2015 +0800
Committer: yliu <yl...@apache.org>
Committed: Mon Jul 6 19:14:18 2015 +0800
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt | 5 ++++-
.../hadoop/hdfs/server/blockmanagement/BlockManager.java | 11 ++++-------
.../apache/hadoop/hdfs/server/namenode/INodeFile.java | 6 +-----
3 files changed, 9 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ee01a095/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
index 7e10753..8f720fc 100755
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-EC-7285.txt
@@ -325,4 +325,7 @@
multiple times. (Kai Sasaki via szetszwo)
HDFS-8468. 2 RPC calls for every file read in DFSClient#open(..) resulting in
- double Audit log entries (vinayakumarb)
\ No newline at end of file
+ double Audit log entries (vinayakumarb)
+
+ HDFS-8684. Erasure Coding: fix some block number calculation for striped
+ block. (yliu)
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ee01a095/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
index dcb0be77..c98bdb0 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
@@ -3109,12 +3109,12 @@ public class BlockManager {
bc.getStoragePolicyID());
final List<StorageType> excessTypes = storagePolicy.chooseExcess(
replication, DatanodeStorageInfo.toStorageTypes(nonExcess));
- if (!storedBlock.isStriped()) {
- chooseExcessReplicasContiguous(bc, nonExcess, storedBlock,
- replication, addedNode, delNodeHint, excessTypes);
- } else {
+ if (storedBlock.isStriped()) {
chooseExcessReplicasStriped(bc, nonExcess, storedBlock, delNodeHint,
excessTypes);
+ } else {
+ chooseExcessReplicasContiguous(bc, nonExcess, storedBlock,
+ replication, addedNode, delNodeHint, excessTypes);
}
}
@@ -3191,9 +3191,6 @@ public class BlockManager {
assert storedBlock instanceof BlockInfoStriped;
BlockInfoStriped sblk = (BlockInfoStriped) storedBlock;
short groupSize = sblk.getTotalBlockNum();
- if (nonExcess.size() <= groupSize) {
- return;
- }
BlockPlacementPolicy placementPolicy = placementPolicies.getPolicy(true);
List<DatanodeStorageInfo> empty = new ArrayList<>(0);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ee01a095/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java
index 4688001..b2b0fea 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java
@@ -809,13 +809,9 @@ public class INodeFile extends INodeWithAdditionalFields
if (!includesLastUcBlock) {
size = 0;
} else if (usePreferredBlockSize4LastUcBlock) {
- // Striped blocks keeps block group which counts
- // (data blocks num + parity blocks num). When you
- // count actual used size by BlockInfoStripedUC must
- // be multiplied by these blocks number.
BlockInfoStripedUnderConstruction blockInfoStripedUC
= (BlockInfoStripedUnderConstruction) blockInfos[last];
- size = getPreferredBlockSize() * blockInfoStripedUC.getTotalBlockNum();
+ size = getPreferredBlockSize() * blockInfoStripedUC.getDataBlockNum();
}
}
//sum other blocks