diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java index 919777f35191..a477e3876a13 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/DatanodeConfiguration.java @@ -384,6 +384,14 @@ public class DatanodeConfiguration extends ReconfigurableConfig { ) private boolean isDiskCheckEnabled = true; + @Config(key = "hdds.datanode.disk.check.rocksdb.check.io.test.enabled", + defaultValue = "true", + type = ConfigType.BOOLEAN, + tags = {DATANODE}, + description = "The configuration to enable or disable RocksDb disk IO checks." + ) + private boolean isRocksDbDiskCheckEnabled = true; + @Config(key = "hdds.datanode.disk.check.io.failures.tolerated", defaultValue = "1", type = ConfigType.INT, @@ -1013,6 +1021,10 @@ public boolean isDiskCheckEnabled() { return isDiskCheckEnabled; } + public boolean isRocksDbDiskCheckEnabled() { + return isRocksDbDiskCheckEnabled; + } + public Duration getDiskCheckSlidingWindowTimeout() { return diskCheckSlidingWindowTimeout; } diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/HddsVolume.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/HddsVolume.java index 310c46de5294..8ac48fae748d 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/HddsVolume.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/volume/HddsVolume.java @@ -306,7 +306,7 @@ public synchronized VolumeCheckResult check(@Nullable Boolean unused) @VisibleForTesting public VolumeCheckResult checkDbHealth(File dbFile) throws InterruptedException { - if (!getDiskCheckEnabled()) { + if (!(getDiskCheckEnabled() && getDatanodeConfig().isRocksDbDiskCheckEnabled())) { return VolumeCheckResult.HEALTHY; }