HDFS-9484. NNThroughputBenchmark$BlockReportStats should not send empty block reports. Contributed by Mingliang Liu.

This commit is contained in:
Konstantin V Shvachko 2015-12-03 14:51:06 -08:00
parent e71aa717d4
commit 924a33d02d
2 changed files with 6 additions and 3 deletions

View File

@ -2436,6 +2436,9 @@ Release 2.8.0 - UNRELEASED
HDFS-9429. Tests in TestDFSAdminWithHA intermittently fail with
EOFException (Xiao Chen via Colin P. McCabe)
HDFS-9484. NNThroughputBenchmark$BlockReportStats should not send empty
block reports. (Mingliang Liu via shv)
Release 2.7.3 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -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() {