From 02cfb1c8255e78783471b9ae3d78158ca44270af Mon Sep 17 00:00:00 2001 From: Wei-Chiu Chuang Date: Thu, 10 Jul 2025 19:11:16 -0700 Subject: [PATCH 1/2] HDDS-8903. Add validation for ozone.om.snapshot.db.max.open.files. Change-Id: Ibea7a7da9a170b9498f56bd62c3f37b354d81a05 --- .../org/apache/hadoop/ozone/om/OmSnapshotManager.java | 5 +++++ .../apache/hadoop/ozone/om/TestOmSnapshotManager.java | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java index 4a2e93f6c436..57816e7c0fef 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java @@ -217,6 +217,11 @@ public OmSnapshotManager(OzoneManager ozoneManager) { OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES, OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES_DEFAULT ); + if (this.maxOpenSstFilesInSnapshotDb <= 0) { + throw new IllegalArgumentException( + OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES + " must be positive."); + } + ColumnFamilyHandle snapDiffJobCf; ColumnFamilyHandle snapDiffReportCf; ColumnFamilyHandle snapDiffPurgedJobCf; diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java index ff65978728ca..c2ba606af1b2 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java @@ -749,4 +749,14 @@ private SnapshotInfo createSnapshotInfo(String volumeName, UUID.randomUUID(), Time.now()); } + + @Test + void testNegativeMaxOpenFiles(@TempDir File tempDir) throws Exception { + OzoneConfiguration conf = new OzoneConfiguration(); + conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, tempDir.getAbsolutePath()); + conf.setInt(OMConfigKeys.OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES, -2); + conf.setBoolean(OMConfigKeys.OZONE_FILESYSTEM_SNAPSHOT_ENABLED_KEY, true); + + assertThrows(IllegalArgumentException.class, () -> new OmTestManagers(conf)); + } } From 01ae5863162cbd9d6e029b04483a1c521970bbaf Mon Sep 17 00:00:00 2001 From: Wei-Chiu Chuang Date: Mon, 14 Jul 2025 11:36:50 -0700 Subject: [PATCH 2/2] HDDS-8903. Add validation for ozone.om.snapshot.db.max.open.files Change-Id: Icc34ef94de9aff4c3406a2f88d8735c799a2bdc8 --- .../java/org/apache/hadoop/ozone/om/OmSnapshotManager.java | 6 ++---- .../org/apache/hadoop/ozone/om/TestOmSnapshotManager.java | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java index 57816e7c0fef..80301fd47ba6 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmSnapshotManager.java @@ -217,10 +217,8 @@ public OmSnapshotManager(OzoneManager ozoneManager) { OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES, OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES_DEFAULT ); - if (this.maxOpenSstFilesInSnapshotDb <= 0) { - throw new IllegalArgumentException( - OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES + " must be positive."); - } + Preconditions.checkArgument(this.maxOpenSstFilesInSnapshotDb > 0, + OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES + " must be positive."); ColumnFamilyHandle snapDiffJobCf; ColumnFamilyHandle snapDiffReportCf; diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java index c2ba606af1b2..7df24e2c3b44 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOmSnapshotManager.java @@ -754,7 +754,7 @@ private SnapshotInfo createSnapshotInfo(String volumeName, void testNegativeMaxOpenFiles(@TempDir File tempDir) throws Exception { OzoneConfiguration conf = new OzoneConfiguration(); conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, tempDir.getAbsolutePath()); - conf.setInt(OMConfigKeys.OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES, -2); + conf.setInt(OMConfigKeys.OZONE_OM_SNAPSHOT_DB_MAX_OPEN_FILES, 0); conf.setBoolean(OMConfigKeys.OZONE_FILESYSTEM_SNAPSHOT_ENABLED_KEY, true); assertThrows(IllegalArgumentException.class, () -> new OmTestManagers(conf));