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 d49800c348..d45f8eb5b7 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
@@ -1651,7 +1651,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 e1473fb7e9..4251c15718 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());
}
}