diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml
index 7bcbccd81728c..10a6ceb346014 100755
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml
@@ -1640,7 +1640,7 @@
dfs.block.scanner.volume.bytes.per.second
1048576
- If this is 0, the DataNode's block scanner will be disabled. If this
+ If this is configured less than or equal to zero, the DataNode's block scanner will be disabled. If this
is positive, this is the number of bytes per second that the DataNode's
block scanner will try to scan from each volume.
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockScanner.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockScanner.java
index e1473fb7e9803..4251c15718545 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockScanner.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockScanner.java
@@ -282,11 +282,17 @@ public void testVolumeIteratorWithCaching() throws Exception {
public void testDisableVolumeScanner() throws Exception {
Configuration conf = new Configuration();
disableBlockScanner(conf);
- TestContext ctx = new TestContext(conf, 1);
- try {
- Assert.assertFalse(ctx.datanode.getBlockScanner().isEnabled());
- } finally {
- ctx.close();
+ try(TestContext ctx = new TestContext(conf, 1)) {
+ assertFalse(ctx.datanode.getBlockScanner().isEnabled());
+ }
+ }
+
+ @Test(timeout=60000)
+ public void testDisableVolumeScanner2() throws Exception {
+ Configuration conf = new Configuration();
+ conf.setLong(DFS_BLOCK_SCANNER_VOLUME_BYTES_PER_SECOND, -1L);
+ try(TestContext ctx = new TestContext(conf, 1)) {
+ assertFalse(ctx.datanode.getBlockScanner().isEnabled());
}
}