Repository: hadoop Updated Branches: refs/heads/branch-3.0 abdf8abf1 -> 01661d4f9
HDFS-13048. LowRedundancyReplicatedBlocks metric can be negative (cherry picked from commit 4aef8bd2efd68bf96c077ddda1538dcd5691b437) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/01661d4f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/01661d4f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/01661d4f Branch: refs/heads/branch-3.0 Commit: 01661d4f903ce5358573ae9e823b8a9dbe543eef Parents: abdf8ab Author: Akira Ajisaka <aajis...@apache.org> Authored: Fri Feb 2 14:33:56 2018 +0900 Committer: Akira Ajisaka <aajis...@apache.org> Committed: Fri Feb 2 14:35:11 2018 +0900 ---------------------------------------------------------------------- .../server/blockmanagement/LowRedundancyBlocks.java | 2 +- .../TestLowRedundancyBlockQueues.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/01661d4f/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/LowRedundancyBlocks.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/LowRedundancyBlocks.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/LowRedundancyBlocks.java index 347d606..e3f228d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/LowRedundancyBlocks.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/LowRedundancyBlocks.java @@ -365,7 +365,7 @@ class LowRedundancyBlocks implements Iterable<BlockInfo> { NameNode.blockStateChangeLog.debug( "BLOCK* NameSystem.LowRedundancyBlock.remove: Removing block" + " {} from priority queue {}", block, i); - decrementBlockStat(block, priLevel, oldExpectedReplicas); + decrementBlockStat(block, i, oldExpectedReplicas); return true; } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/01661d4f/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestLowRedundancyBlockQueues.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestLowRedundancyBlockQueues.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestLowRedundancyBlockQueues.java index 2b28f1e..0681a0b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestLowRedundancyBlockQueues.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestLowRedundancyBlockQueues.java @@ -124,6 +124,21 @@ public class TestLowRedundancyBlockQueues { } @Test + public void testRemoveWithWrongPriority() { + final LowRedundancyBlocks queues = new LowRedundancyBlocks(); + final BlockInfo corruptBlock = genBlockInfo(1); + assertAdded(queues, corruptBlock, 0, 0, 3); + assertInLevel(queues, corruptBlock, + LowRedundancyBlocks.QUEUE_WITH_CORRUPT_BLOCKS); + verifyBlockStats(queues, 0, 1, 0, 0, 0); + + // Remove with wrong priority + queues.remove(corruptBlock, LowRedundancyBlocks.QUEUE_LOW_REDUNDANCY); + // Verify the number of corrupt block is decremented + verifyBlockStats(queues, 0, 0, 0, 0, 0); + } + + @Test public void testStripedBlockPriorities() throws Throwable { int dataBlkNum = ecPolicy.getNumDataUnits(); int parityBlkNUm = ecPolicy.getNumParityUnits(); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org