HDFS-9484. NNThroughputBenchmark$BlockReportStats should not send empty block
reports. Contributed by Mingliang Liu.
(cherry picked from commit 33d4588a7c57a0945f82fb14d8127d49c9ec68d2)
Conflicts:
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0b88a7f2
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0b88a7f2
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0b88a7f2
Branch: refs/heads/branch-2.8
Commit: 0b88a7f259f86708425cea2feb6ab08c14887c0e
Parents: 69d3a71
Author: Konstantin V Shvachko <[email protected]>
Authored: Thu Dec 3 14:51:06 2015 -0800
Committer: Wangda Tan <[email protected]>
Committed: Fri Dec 18 16:34:42 2015 -0800
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++
.../hadoop/hdfs/server/namenode/NNThroughputBenchmark.java | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/0b88a7f2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index a571a08..baaa58d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -1616,6 +1616,9 @@ Release 2.8.0 - UNRELEASED
HDFS-9347. Invariant assumption in TestQuorumJournalManager.shutdown()
is wrong. (Wei-Chiu Chuang via zhz)
+ HDFS-9484. NNThroughputBenchmark$BlockReportStats should not send empty
+ block reports. (Mingliang Liu via shv)
+
Release 2.7.3 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/0b88a7f2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/NNThroughputBenchmark.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/NNThroughputBenchmark.java
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/NNThroughputBenchmark.java
index 91f9793..8a594ed 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/NNThroughputBenchmark.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/NNThroughputBenchmark.java
@@ -925,7 +925,7 @@ public class NNThroughputBenchmark implements Tool {
NamespaceInfo nsInfo;
DatanodeRegistration dnRegistration;
DatanodeStorage storage; //only one storage
- final ArrayList<BlockReportReplica> blocks;
+ final List<BlockReportReplica> blocks;
int nrBlocks; // actual number of blocks
BlockListAsLongs blockReportList;
final int dnIdx;
@@ -938,7 +938,7 @@ public class NNThroughputBenchmark implements Tool {
TinyDatanode(int dnIdx, int blockCapacity) throws IOException {
this.dnIdx = dnIdx;
- this.blocks = new ArrayList<BlockReportReplica>(blockCapacity);
+ this.blocks = Arrays.asList(new BlockReportReplica[blockCapacity]);
this.nrBlocks = 0;
}
@@ -1013,7 +1013,7 @@ public class NNThroughputBenchmark implements Tool {
Block block = new Block(blocks.size() - idx, 0, 0);
blocks.set(idx, new BlockReportReplica(block));
}
- blockReportList = BlockListAsLongs.EMPTY;
+ blockReportList = BlockListAsLongs.encode(blocks);
}
BlockListAsLongs getBlockReportList() {