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

ivandika pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new acc8a868642 HDDS-13723. Add detailed lock information for 
omMetadataManager locks (#9157)
acc8a868642 is described below

commit acc8a86864215a5e6dbc6ef99b75f4ea88f5d66c
Author: sreejasahithi <[email protected]>
AuthorDate: Sat Nov 22 06:28:20 2025 +0530

    HDDS-13723. Add detailed lock information for omMetadataManager locks 
(#9157)
---
 .../ozone/om/request/key/OMDirectoriesPurgeRequestWithFSO.java    | 7 +++++--
 .../s3/multipart/S3ExpiredMultipartUploadsAbortRequest.java       | 8 +++-----
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMDirectoriesPurgeRequestWithFSO.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMDirectoriesPurgeRequestWithFSO.java
index aa197108195..0da27c7c2d6 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMDirectoriesPurgeRequestWithFSO.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMDirectoriesPurgeRequestWithFSO.java
@@ -125,7 +125,8 @@ public OMClientResponse validateAndUpdateCache(OzoneManager 
ozoneManager, Execut
       return new 
OMDirectoriesPurgeResponseWithFSO(createErrorOMResponse(omResponse, e));
     }
     List<String[]> bucketLockKeys = getBucketLockKeySet(purgeDirsRequest);
-    boolean lockAcquired = 
omMetadataManager.getLock().acquireWriteLocks(BUCKET_LOCK, 
bucketLockKeys).isLockAcquired();
+    
mergeOmLockDetails(omMetadataManager.getLock().acquireWriteLocks(BUCKET_LOCK, 
bucketLockKeys));
+    boolean lockAcquired = getOmLockDetails().isLockAcquired();
     if (!lockAcquired && !purgeDirsRequest.getBucketNameInfosList().isEmpty()) 
{
       OMException oe = new OMException("Unable to acquire write locks on 
buckets while performing DirectoryPurge",
           OMException.ResultCodes.KEY_DELETION_ERROR);
@@ -256,7 +257,9 @@ public OMClientResponse validateAndUpdateCache(OzoneManager 
ozoneManager, Execut
           volBucketInfoMap.entrySet()) {
         entry.setValue(entry.getValue().copyObject());
       }
-      omMetadataManager.getLock().releaseWriteLocks(BUCKET_LOCK, 
bucketLockKeys);
+      if (lockAcquired) {
+        
mergeOmLockDetails(omMetadataManager.getLock().releaseWriteLocks(BUCKET_LOCK, 
bucketLockKeys));
+      }  
     }
 
     return new OMDirectoriesPurgeResponseWithFSO(
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3ExpiredMultipartUploadsAbortRequest.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3ExpiredMultipartUploadsAbortRequest.java
index 745a2523ea5..393f5746503 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3ExpiredMultipartUploadsAbortRequest.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3ExpiredMultipartUploadsAbortRequest.java
@@ -38,7 +38,6 @@
 import org.apache.hadoop.ozone.om.helpers.OmMultipartAbortInfo;
 import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo;
 import org.apache.hadoop.ozone.om.helpers.OmMultipartUpload;
-import org.apache.hadoop.ozone.om.lock.OMLockDetails;
 import org.apache.hadoop.ozone.om.request.key.OMKeyRequest;
 import org.apache.hadoop.ozone.om.request.util.OMMultipartUploadUtils;
 import org.apache.hadoop.ozone.om.request.util.OmResponseUtil;
@@ -198,11 +197,10 @@ private void updateTableCache(OzoneManager ozoneManager,
     OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager();
     OmBucketInfo omBucketInfo = null;
     BucketLayout bucketLayout = null;
-    OMLockDetails omLockDetails = null;
     try {
-      omLockDetails = omMetadataManager.getLock()
-          .acquireWriteLock(BUCKET_LOCK, volumeName, bucketName);
-      acquiredLock = omLockDetails.isLockAcquired();
+      mergeOmLockDetails(omMetadataManager.getLock()
+          .acquireWriteLock(BUCKET_LOCK, volumeName, bucketName));
+      acquiredLock = getOmLockDetails().isLockAcquired();
 
       omBucketInfo = getBucketInfo(omMetadataManager, volumeName, bucketName);
 


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

Reply via email to