This is an automated email from the ASF dual-hosted git repository.

chungen pushed a commit to branch ozone-2.1
in repository https://gitbox.apache.org/repos/asf/ozone.git

commit 20f872f0bd9f18a58b1c77f17fbf6f043b2d1a8a
Author: Wei-Chiu Chuang <[email protected]>
AuthorDate: Fri Oct 17 19:18:19 2025 -0700

    HDDS-13799. Revert "HDDS-12982. Reduce log level for snapshot validation 
failure (#8851)" (#9162)
    
    (cherry picked from commit 3fee4c21bd5c7a876ce72716c15f4487429f8391)
---
 .../hadoop/ozone/om/request/key/OMKeyPurgeRequest.java       |  7 ++-----
 .../org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java   | 12 +++++++-----
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyPurgeRequest.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyPurgeRequest.java
index 5fe932c4a09..d4da86ef090 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyPurgeRequest.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyPurgeRequest.java
@@ -97,11 +97,8 @@ public OMClientResponse validateAndUpdateCache(OzoneManager 
ozoneManager, Execut
         // redundant tombstone entry in the deletedTable. It is better to skip 
the transaction.
         UUID expectedPreviousSnapshotId = 
purgeKeysRequest.getExpectedPreviousSnapshotID().hasUuid()
             ? 
fromProtobuf(purgeKeysRequest.getExpectedPreviousSnapshotID().getUuid()) : null;
-        if (!validatePreviousSnapshotId(fromSnapshotInfo, 
omMetadataManager.getSnapshotChainManager(),
-            expectedPreviousSnapshotId)) {
-          return new OMKeyPurgeResponse(createErrorOMResponse(omResponse,
-              new OMException("Snapshot validation failed", 
OMException.ResultCodes.INVALID_REQUEST)));
-        }
+        validatePreviousSnapshotId(fromSnapshotInfo, 
omMetadataManager.getSnapshotChainManager(),
+            expectedPreviousSnapshotId);
       }
     } catch (IOException e) {
       LOG.error("Error occurred while performing OmKeyPurge. ", e);
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java
index ea6d88c8e19..63e7e38d518 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotUtils.java
@@ -292,17 +292,19 @@ public static UUID getLatestPathSnapshotId(String 
volumeName, String bucketName,
     return snapshotChainManager.getLatestPathSnapshotId(snapshotPath);
   }
 
-  public static boolean validatePreviousSnapshotId(SnapshotInfo snapshotInfo,
+  // Validates the previous path snapshotId for given a snapshotInfo. In case 
snapshotInfo is
+  // null, the snapshotInfo would be considered as AOS and previous snapshot 
becomes the latest snapshot in the global
+  // snapshot chain. Would throw OMException if validation fails otherwise 
function would pass.
+  public static void validatePreviousSnapshotId(SnapshotInfo snapshotInfo,
                                                 SnapshotChainManager 
snapshotChainManager,
                                                 UUID 
expectedPreviousSnapshotId) throws IOException {
     UUID previousSnapshotId = snapshotInfo == null ? 
snapshotChainManager.getLatestGlobalSnapshotId() :
         SnapshotUtils.getPreviousSnapshotId(snapshotInfo, 
snapshotChainManager);
     if (!Objects.equals(expectedPreviousSnapshotId, previousSnapshotId)) {
-      LOG.warn("Snapshot validation failed. Expected previous snapshotId : " +
-          expectedPreviousSnapshotId + " but was " + previousSnapshotId);
-      return false;
+      throw new OMException("Snapshot validation failed. Expected previous 
snapshotId : " +
+          expectedPreviousSnapshotId + " but was " + previousSnapshotId,
+          OMException.ResultCodes.INVALID_REQUEST);
     }
-    return true;
   }
 
   /**


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to