This is an automated email from the ASF dual-hosted git repository.
swamirishi 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 5d1b43d44f HDDS-13076. Refactor OzoneManagerLock class to rename
Resource class to LeveledResource (#8482)
5d1b43d44f is described below
commit 5d1b43d44fa435b5a304bd1d99e8fa4a60d092cf
Author: Swaminathan Balachandran <[email protected]>
AuthorDate: Mon May 19 19:45:38 2025 -0400
HDDS-13076. Refactor OzoneManagerLock class to rename Resource class to
LeveledResource (#8482)
---
.../hadoop/ozone/om/S3SecretLockedManager.java | 2 +-
.../hadoop/ozone/om/lock/IOzoneManagerLock.java | 22 +++----
.../hadoop/ozone/om/lock/OmReadOnlyLock.java | 24 ++++----
.../hadoop/ozone/om/lock/OzoneManagerLock.java | 70 +++++++++++-----------
.../hadoop/ozone/om/lock/OzoneManagerLockUtil.java | 12 ++--
.../hadoop/ozone/om/lock/TestKeyPathLock.java | 20 +++----
.../hadoop/ozone/om/lock/TestOzoneManagerLock.java | 68 ++++++++++-----------
.../apache/hadoop/ozone/om/BucketManagerImpl.java | 2 +-
.../org/apache/hadoop/ozone/om/KeyManagerImpl.java | 2 +-
.../org/apache/hadoop/ozone/om/ListIterator.java | 2 +-
.../org/apache/hadoop/ozone/om/OzoneManager.java | 4 +-
.../apache/hadoop/ozone/om/PrefixManagerImpl.java | 2 +-
.../hadoop/ozone/om/SstFilteringService.java | 2 +-
.../apache/hadoop/ozone/om/VolumeManagerImpl.java | 4 +-
.../ozone/om/lock/OBSKeyPathLockStrategy.java | 4 +-
.../ozone/om/lock/RegularBucketLockStrategy.java | 2 +-
.../om/request/bucket/OMBucketCreateRequest.java | 4 +-
.../om/request/bucket/OMBucketDeleteRequest.java | 4 +-
.../om/request/bucket/OMBucketSetOwnerRequest.java | 2 +-
.../request/bucket/OMBucketSetPropertyRequest.java | 2 +-
.../om/request/bucket/acl/OMBucketAclRequest.java | 2 +-
.../om/request/file/OMDirectoryCreateRequest.java | 2 +-
.../file/OMDirectoryCreateRequestWithFSO.java | 2 +-
.../ozone/om/request/file/OMFileCreateRequest.java | 2 +-
.../request/file/OMFileCreateRequestWithFSO.java | 2 +-
.../om/request/file/OMRecoverLeaseRequest.java | 2 +-
.../om/request/key/OMAllocateBlockRequest.java | 2 +-
.../request/key/OMAllocateBlockRequestWithFSO.java | 2 +-
.../key/OMDirectoriesPurgeRequestWithFSO.java | 2 +-
.../ozone/om/request/key/OMKeyCommitRequest.java | 2 +-
.../om/request/key/OMKeyCommitRequestWithFSO.java | 2 +-
.../om/request/key/OMKeyCreateRequestWithFSO.java | 2 +-
.../ozone/om/request/key/OMKeyDeleteRequest.java | 2 +-
.../om/request/key/OMKeyDeleteRequestWithFSO.java | 2 +-
.../ozone/om/request/key/OMKeyRenameRequest.java | 2 +-
.../om/request/key/OMKeyRenameRequestWithFSO.java | 2 +-
.../hadoop/ozone/om/request/key/OMKeyRequest.java | 2 +-
.../ozone/om/request/key/OMKeySetTimesRequest.java | 2 +-
.../request/key/OMKeySetTimesRequestWithFSO.java | 2 +-
.../ozone/om/request/key/OMKeysDeleteRequest.java | 2 +-
.../ozone/om/request/key/OMKeysRenameRequest.java | 2 +-
.../om/request/key/OMOpenKeysDeleteRequest.java | 2 +-
.../ozone/om/request/key/acl/OMKeyAclRequest.java | 2 +-
.../om/request/key/acl/OMKeyAclRequestWithFSO.java | 2 +-
.../request/key/acl/prefix/OMPrefixAclRequest.java | 2 +-
.../S3ExpiredMultipartUploadsAbortRequest.java | 2 +-
.../S3InitiateMultipartUploadRequest.java | 2 +-
.../S3InitiateMultipartUploadRequestWithFSO.java | 2 +-
.../multipart/S3MultipartUploadAbortRequest.java | 2 +-
.../S3MultipartUploadCommitPartRequest.java | 2 +-
.../S3MultipartUploadCompleteRequest.java | 2 +-
.../s3/tagging/S3DeleteObjectTaggingRequest.java | 2 +-
.../S3DeleteObjectTaggingRequestWithFSO.java | 2 +-
.../s3/tagging/S3PutObjectTaggingRequest.java | 2 +-
.../tagging/S3PutObjectTaggingRequestWithFSO.java | 2 +-
.../s3/tenant/OMTenantAssignAdminRequest.java | 2 +-
.../tenant/OMTenantAssignUserAccessIdRequest.java | 2 +-
.../request/s3/tenant/OMTenantCreateRequest.java | 4 +-
.../request/s3/tenant/OMTenantDeleteRequest.java | 2 +-
.../s3/tenant/OMTenantRevokeAdminRequest.java | 2 +-
.../tenant/OMTenantRevokeUserAccessIdRequest.java | 2 +-
.../request/snapshot/OMSnapshotCreateRequest.java | 4 +-
.../request/snapshot/OMSnapshotDeleteRequest.java | 4 +-
.../request/snapshot/OMSnapshotRenameRequest.java | 4 +-
.../om/request/volume/OMQuotaRepairRequest.java | 4 +-
.../om/request/volume/OMVolumeCreateRequest.java | 4 +-
.../om/request/volume/OMVolumeDeleteRequest.java | 4 +-
.../om/request/volume/OMVolumeSetOwnerRequest.java | 2 +-
.../om/request/volume/OMVolumeSetQuotaRequest.java | 2 +-
.../om/request/volume/acl/OMVolumeAclRequest.java | 2 +-
.../response/snapshot/OMSnapshotPurgeResponse.java | 2 +-
.../ozone/om/snapshot/MultiSnapshotLocks.java | 4 +-
.../om/snapshot/filter/ReclaimableFilter.java | 2 +-
.../ozone/om/snapshot/TestMultiSnapshotLocks.java | 2 +-
.../filter/AbstractReclaimableFilterTest.java | 4 +-
75 files changed, 191 insertions(+), 191 deletions(-)
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/S3SecretLockedManager.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/S3SecretLockedManager.java
index 580b43470d..d42df2acbd 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/S3SecretLockedManager.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/S3SecretLockedManager.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.S3_SECRET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.S3_SECRET_LOCK;
import java.io.IOException;
import java.util.List;
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/IOzoneManagerLock.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/IOzoneManagerLock.java
index ebe330c67a..c19d9955b9 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/IOzoneManagerLock.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/IOzoneManagerLock.java
@@ -25,43 +25,43 @@
*/
public interface IOzoneManagerLock {
- OMLockDetails acquireReadLock(OzoneManagerLock.Resource resource,
+ OMLockDetails acquireReadLock(OzoneManagerLock.LeveledResource resource,
String... resources);
- OMLockDetails acquireReadLocks(OzoneManagerLock.Resource resource,
Collection<String[]> resources);
+ OMLockDetails acquireReadLocks(OzoneManagerLock.LeveledResource resource,
Collection<String[]> resources);
- OMLockDetails acquireWriteLock(OzoneManagerLock.Resource resource,
+ OMLockDetails acquireWriteLock(OzoneManagerLock.LeveledResource resource,
String... resources);
- OMLockDetails acquireWriteLocks(OzoneManagerLock.Resource resource,
+ OMLockDetails acquireWriteLocks(OzoneManagerLock.LeveledResource resource,
Collection<String[]> resources);
boolean acquireMultiUserLock(String firstUser, String secondUser);
void releaseMultiUserLock(String firstUser, String secondUser);
- OMLockDetails releaseWriteLock(OzoneManagerLock.Resource resource,
+ OMLockDetails releaseWriteLock(OzoneManagerLock.LeveledResource resource,
String... resources);
- OMLockDetails releaseWriteLocks(OzoneManagerLock.Resource resource,
+ OMLockDetails releaseWriteLocks(OzoneManagerLock.LeveledResource resource,
Collection<String[]> resources);
- OMLockDetails releaseReadLock(OzoneManagerLock.Resource resource,
+ OMLockDetails releaseReadLock(OzoneManagerLock.LeveledResource resource,
String... resources);
- OMLockDetails releaseReadLocks(OzoneManagerLock.Resource resource,
+ OMLockDetails releaseReadLocks(OzoneManagerLock.LeveledResource resource,
Collection<String[]> resources);
@VisibleForTesting
- int getReadHoldCount(OzoneManagerLock.Resource resource,
+ int getReadHoldCount(OzoneManagerLock.LeveledResource resource,
String... resources);
@VisibleForTesting
- int getWriteHoldCount(OzoneManagerLock.Resource resource,
+ int getWriteHoldCount(OzoneManagerLock.LeveledResource resource,
String... resources);
@VisibleForTesting
- boolean isWriteLockedByCurrentThread(OzoneManagerLock.Resource resource,
+ boolean isWriteLockedByCurrentThread(OzoneManagerLock.LeveledResource
resource,
String... resources);
void cleanup();
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OmReadOnlyLock.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OmReadOnlyLock.java
index 059536fe0a..17f5e2f046 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OmReadOnlyLock.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OmReadOnlyLock.java
@@ -21,7 +21,7 @@
import static
org.apache.hadoop.ozone.om.lock.OMLockDetails.EMPTY_DETAILS_LOCK_NOT_ACQUIRED;
import java.util.Collection;
-import org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource;
+import org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource;
/**
* Read only "lock" for snapshots
@@ -31,23 +31,23 @@
public class OmReadOnlyLock implements IOzoneManagerLock {
@Override
- public OMLockDetails acquireReadLock(Resource resource, String... resources)
{
+ public OMLockDetails acquireReadLock(LeveledResource resource, String...
resources) {
return EMPTY_DETAILS_LOCK_ACQUIRED;
}
@Override
- public OMLockDetails acquireReadLocks(Resource resource,
Collection<String[]> resources) {
+ public OMLockDetails acquireReadLocks(LeveledResource resource,
Collection<String[]> resources) {
return EMPTY_DETAILS_LOCK_ACQUIRED;
}
@Override
- public OMLockDetails acquireWriteLock(Resource resource,
+ public OMLockDetails acquireWriteLock(LeveledResource resource,
String... resources) {
return EMPTY_DETAILS_LOCK_NOT_ACQUIRED;
}
@Override
- public OMLockDetails acquireWriteLocks(Resource resource,
Collection<String[]> resources) {
+ public OMLockDetails acquireWriteLocks(LeveledResource resource,
Collection<String[]> resources) {
return EMPTY_DETAILS_LOCK_NOT_ACQUIRED;
}
@@ -62,38 +62,38 @@ public void releaseMultiUserLock(String firstUser, String
secondUser) {
}
@Override
- public OMLockDetails releaseWriteLock(Resource resource,
+ public OMLockDetails releaseWriteLock(LeveledResource resource,
String... resources) {
return EMPTY_DETAILS_LOCK_NOT_ACQUIRED;
}
@Override
- public OMLockDetails releaseWriteLocks(Resource resource,
Collection<String[]> resources) {
+ public OMLockDetails releaseWriteLocks(LeveledResource resource,
Collection<String[]> resources) {
return EMPTY_DETAILS_LOCK_NOT_ACQUIRED;
}
@Override
- public OMLockDetails releaseReadLock(Resource resource, String... resources)
{
+ public OMLockDetails releaseReadLock(LeveledResource resource, String...
resources) {
return EMPTY_DETAILS_LOCK_NOT_ACQUIRED;
}
@Override
- public OMLockDetails releaseReadLocks(Resource resource,
Collection<String[]> resources) {
+ public OMLockDetails releaseReadLocks(LeveledResource resource,
Collection<String[]> resources) {
return EMPTY_DETAILS_LOCK_NOT_ACQUIRED;
}
@Override
- public int getReadHoldCount(Resource resource, String... resources) {
+ public int getReadHoldCount(LeveledResource resource, String... resources) {
return 0;
}
@Override
- public int getWriteHoldCount(Resource resource, String... resources) {
+ public int getWriteHoldCount(LeveledResource resource, String... resources) {
return 0;
}
@Override
- public boolean isWriteLockedByCurrentThread(Resource resource,
+ public boolean isWriteLockedByCurrentThread(LeveledResource resource,
String... resources) {
return false;
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLock.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLock.java
index 07b5d7938e..eb0df99a0a 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLock.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLock.java
@@ -93,7 +93,7 @@ public class OzoneManagerLock implements IOzoneManagerLock {
private static final Logger LOG =
LoggerFactory.getLogger(OzoneManagerLock.class);
- private final Map<Resource, Striped<ReadWriteLock>> stripedLockByResource;
+ private final Map<LeveledResource, Striped<ReadWriteLock>>
stripedLockByResource;
private OMLockMetrics omLockMetrics;
private final ThreadLocal<Short> lockSet = ThreadLocal.withInitial(
@@ -108,15 +108,15 @@ public class OzoneManagerLock implements
IOzoneManagerLock {
*/
public OzoneManagerLock(ConfigurationSource conf) {
omLockMetrics = OMLockMetrics.create();
- Map<Resource, Striped<ReadWriteLock>> stripedLockMap =
- new EnumMap<>(Resource.class);
- for (Resource r : Resource.values()) {
+ Map<LeveledResource, Striped<ReadWriteLock>> stripedLockMap =
+ new EnumMap<>(LeveledResource.class);
+ for (LeveledResource r : LeveledResource.values()) {
stripedLockMap.put(r, createStripeLock(r, conf));
}
this.stripedLockByResource = Collections.unmodifiableMap(stripedLockMap);
}
- private Striped<ReadWriteLock> createStripeLock(Resource r,
+ private Striped<ReadWriteLock> createStripeLock(LeveledResource r,
ConfigurationSource conf) {
boolean fair = conf.getBoolean(OZONE_MANAGER_FAIR_LOCK,
OZONE_MANAGER_FAIR_LOCK_DEFAULT);
@@ -127,7 +127,7 @@ private Striped<ReadWriteLock> createStripeLock(Resource r,
return SimpleStriped.readWriteLock(size, fair);
}
- private Iterable<ReadWriteLock> bulkGetLock(Resource resource,
Collection<String[]> keys) {
+ private Iterable<ReadWriteLock> bulkGetLock(LeveledResource resource,
Collection<String[]> keys) {
Striped<ReadWriteLock> striped = stripedLockByResource.get(resource);
List<Object> lockKeys = new ArrayList<>(keys.size());
for (String[] key : keys) {
@@ -138,7 +138,7 @@ private Iterable<ReadWriteLock> bulkGetLock(Resource
resource, Collection<String
return striped.bulkGet(lockKeys);
}
- private ReentrantReadWriteLock getLock(Resource resource, String... keys) {
+ private ReentrantReadWriteLock getLock(LeveledResource resource, String...
keys) {
Striped<ReadWriteLock> striped = stripedLockByResource.get(resource);
Object key = combineKeys(keys);
return (ReentrantReadWriteLock) striped.get(key);
@@ -162,7 +162,7 @@ private ReentrantReadWriteLock getLock(Resource resource,
String... keys) {
* be passed.
*/
@Override
- public OMLockDetails acquireReadLock(Resource resource, String... keys) {
+ public OMLockDetails acquireReadLock(LeveledResource resource, String...
keys) {
return acquireLock(resource, true, keys);
}
@@ -184,7 +184,7 @@ public OMLockDetails acquireReadLock(Resource resource,
String... keys) {
* be passed.
*/
@Override
- public OMLockDetails acquireReadLocks(Resource resource,
Collection<String[]> keys) {
+ public OMLockDetails acquireReadLocks(LeveledResource resource,
Collection<String[]> keys) {
return acquireLocks(resource, true, keys);
}
@@ -206,7 +206,7 @@ public OMLockDetails acquireReadLocks(Resource resource,
Collection<String[]> ke
* be passed.
*/
@Override
- public OMLockDetails acquireWriteLock(Resource resource, String... keys) {
+ public OMLockDetails acquireWriteLock(LeveledResource resource, String...
keys) {
return acquireLock(resource, false, keys);
}
@@ -228,11 +228,11 @@ public OMLockDetails acquireWriteLock(Resource resource,
String... keys) {
* be passed.
*/
@Override
- public OMLockDetails acquireWriteLocks(Resource resource,
Collection<String[]> keys) {
+ public OMLockDetails acquireWriteLocks(LeveledResource resource,
Collection<String[]> keys) {
return acquireLocks(resource, false, keys);
}
- private void acquireLock(Resource resource, boolean isReadLock,
ReadWriteLock lock,
+ private void acquireLock(LeveledResource resource, boolean isReadLock,
ReadWriteLock lock,
long startWaitingTimeNanos) {
if (isReadLock) {
lock.readLock().lock();
@@ -243,7 +243,7 @@ private void acquireLock(Resource resource, boolean
isReadLock, ReadWriteLock lo
}
}
- private OMLockDetails acquireLocks(Resource resource, boolean isReadLock,
+ private OMLockDetails acquireLocks(LeveledResource resource, boolean
isReadLock,
Collection<String[]> keys) {
omLockDetails.get().clear();
if (!resource.canLock(lockSet.get())) {
@@ -263,7 +263,7 @@ private OMLockDetails acquireLocks(Resource resource,
boolean isReadLock,
return omLockDetails.get();
}
- private OMLockDetails acquireLock(Resource resource, boolean isReadLock,
+ private OMLockDetails acquireLock(LeveledResource resource, boolean
isReadLock,
String... keys) {
omLockDetails.get().clear();
if (!resource.canLock(lockSet.get())) {
@@ -282,7 +282,7 @@ private OMLockDetails acquireLock(Resource resource,
boolean isReadLock,
return omLockDetails.get();
}
- private void updateReadLockMetrics(Resource resource,
+ private void updateReadLockMetrics(LeveledResource resource,
ReentrantReadWriteLock lock, long startWaitingTimeNanos) {
/*
@@ -302,7 +302,7 @@ private void updateReadLockMetrics(Resource resource,
}
}
- private void updateWriteLockMetrics(Resource resource,
+ private void updateWriteLockMetrics(LeveledResource resource,
ReentrantReadWriteLock lock, long startWaitingTimeNanos) {
/*
* writeHoldCount helps in metrics updation only once in case
@@ -323,7 +323,7 @@ private void updateWriteLockMetrics(Resource resource,
}
}
- private String getErrorMessage(Resource resource) {
+ private String getErrorMessage(LeveledResource resource) {
return "Thread '" + Thread.currentThread().getName() + "' cannot " +
"acquire " + resource.name + " lock while holding " +
getCurrentLocks().toString() + " lock(s).";
@@ -334,7 +334,7 @@ private String getErrorMessage(Resource resource) {
List<String> getCurrentLocks() {
List<String> currentLocks = new ArrayList<>();
short lockSetVal = lockSet.get();
- for (Resource value : Resource.values()) {
+ for (LeveledResource value : LeveledResource.values()) {
if (value.isLevelLocked(lockSetVal)) {
currentLocks.add(value.getName());
}
@@ -347,7 +347,7 @@ List<String> getCurrentLocks() {
*/
@Override
public boolean acquireMultiUserLock(String firstUser, String secondUser) {
- Resource resource = Resource.USER_LOCK;
+ LeveledResource resource = LeveledResource.USER_LOCK;
if (!resource.canLock(lockSet.get())) {
String errorMessage = getErrorMessage(resource);
@@ -355,7 +355,7 @@ public boolean acquireMultiUserLock(String firstUser,
String secondUser) {
throw new RuntimeException(errorMessage);
} else {
Striped<ReadWriteLock> striped =
- stripedLockByResource.get(Resource.USER_LOCK);
+ stripedLockByResource.get(LeveledResource.USER_LOCK);
// The result of bulkGet is always sorted in a consistent order.
// This prevents deadlocks.
Iterable<ReadWriteLock> locks =
@@ -378,14 +378,14 @@ public boolean acquireMultiUserLock(String firstUser,
String secondUser) {
@Override
public void releaseMultiUserLock(String firstUser, String secondUser) {
Striped<ReadWriteLock> striped =
- stripedLockByResource.get(Resource.USER_LOCK);
+ stripedLockByResource.get(LeveledResource.USER_LOCK);
Iterable<ReadWriteLock> locks =
striped.bulkGet(Arrays.asList(firstUser, secondUser));
for (ReadWriteLock lock : locks) {
lock.writeLock().unlock();
}
- lockSet.set(Resource.USER_LOCK.clearLock(lockSet.get()));
+ lockSet.set(LeveledResource.USER_LOCK.clearLock(lockSet.get()));
}
@@ -398,7 +398,7 @@ public void releaseMultiUserLock(String firstUser, String
secondUser) {
* be passed.
*/
@Override
- public OMLockDetails releaseWriteLock(Resource resource, String... keys) {
+ public OMLockDetails releaseWriteLock(LeveledResource resource, String...
keys) {
return releaseLock(resource, false, keys);
}
@@ -411,7 +411,7 @@ public OMLockDetails releaseWriteLock(Resource resource,
String... keys) {
* be passed.
*/
@Override
- public OMLockDetails releaseWriteLocks(Resource resource,
Collection<String[]> keys) {
+ public OMLockDetails releaseWriteLocks(LeveledResource resource,
Collection<String[]> keys) {
return releaseLocks(resource, false, keys);
}
@@ -424,7 +424,7 @@ public OMLockDetails releaseWriteLocks(Resource resource,
Collection<String[]> k
* be passed.
*/
@Override
- public OMLockDetails releaseReadLock(Resource resource, String... keys) {
+ public OMLockDetails releaseReadLock(LeveledResource resource, String...
keys) {
return releaseLock(resource, true, keys);
}
@@ -437,11 +437,11 @@ public OMLockDetails releaseReadLock(Resource resource,
String... keys) {
* be passed.
*/
@Override
- public OMLockDetails releaseReadLocks(Resource resource,
Collection<String[]> keys) {
+ public OMLockDetails releaseReadLocks(LeveledResource resource,
Collection<String[]> keys) {
return releaseLocks(resource, true, keys);
}
- private OMLockDetails releaseLock(Resource resource, boolean isReadLock,
+ private OMLockDetails releaseLock(LeveledResource resource, boolean
isReadLock,
String... keys) {
omLockDetails.get().clear();
ReentrantReadWriteLock lock = getLock(resource, keys);
@@ -458,7 +458,7 @@ private OMLockDetails releaseLock(Resource resource,
boolean isReadLock,
return omLockDetails.get();
}
- private OMLockDetails releaseLocks(Resource resource, boolean isReadLock,
+ private OMLockDetails releaseLocks(LeveledResource resource, boolean
isReadLock,
Collection<String[]> keys) {
omLockDetails.get().clear();
List<ReadWriteLock> locks =
@@ -480,7 +480,7 @@ private OMLockDetails releaseLocks(Resource resource,
boolean isReadLock,
return omLockDetails.get();
}
- private void updateReadUnlockMetrics(Resource resource,
+ private void updateReadUnlockMetrics(LeveledResource resource,
ReentrantReadWriteLock lock) {
/*
* readHoldCount helps in metrics updation only once in case
@@ -497,7 +497,7 @@ private void updateReadUnlockMetrics(Resource resource,
}
}
- private void updateWriteUnlockMetrics(Resource resource,
+ private void updateWriteUnlockMetrics(LeveledResource resource,
ReentrantReadWriteLock lock, boolean isWriteLocked) {
/*
* writeHoldCount helps in metrics updation only once in case
@@ -522,7 +522,7 @@ private void updateWriteUnlockMetrics(Resource resource,
*/
@Override
@VisibleForTesting
- public int getReadHoldCount(Resource resource, String... keys) {
+ public int getReadHoldCount(LeveledResource resource, String... keys) {
return getLock(resource, keys).getReadHoldCount();
}
@@ -534,7 +534,7 @@ public int getReadHoldCount(Resource resource, String...
keys) {
*/
@Override
@VisibleForTesting
- public int getWriteHoldCount(Resource resource, String... keys) {
+ public int getWriteHoldCount(LeveledResource resource, String... keys) {
return getLock(resource, keys).getWriteHoldCount();
}
@@ -547,7 +547,7 @@ public int getWriteHoldCount(Resource resource, String...
keys) {
*/
@Override
@VisibleForTesting
- public boolean isWriteLockedByCurrentThread(Resource resource,
+ public boolean isWriteLockedByCurrentThread(LeveledResource resource,
String... keys) {
return getLock(resource, keys).isWriteLockedByCurrentThread();
}
@@ -568,7 +568,7 @@ public OMLockMetrics getOMLockMetrics() {
/**
* Resource defined in Ozone.
*/
- public enum Resource {
+ public enum LeveledResource {
// For S3 Bucket need to allow only for S3, that should be means only 1.
S3_BUCKET_LOCK((byte) 0, "S3_BUCKET_LOCK"), // = 1
@@ -660,7 +660,7 @@ long getStartWriteHeldTimeNanos() {
return startWriteHeldTimeNanos;
}
- Resource(byte pos, String name) {
+ LeveledResource(byte pos, String name) {
this.lockLevel = pos;
this.mask = (short) (Math.pow(2, lockLevel + 1) - 1);
this.setMask = (short) Math.pow(2, lockLevel);
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLockUtil.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLockUtil.java
index e0c89ef227..d4378f4076 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLockUtil.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLockUtil.java
@@ -39,17 +39,17 @@ private OzoneManagerLockUtil() {
* @param resourceName
*/
public static String generateResourceLockName(
- OzoneManagerLock.Resource resource, String resourceName) {
+ OzoneManagerLock.LeveledResource resource, String resourceName) {
- if (resource == OzoneManagerLock.Resource.S3_BUCKET_LOCK) {
+ if (resource == OzoneManagerLock.LeveledResource.S3_BUCKET_LOCK) {
return OM_S3_PREFIX + resourceName;
- } else if (resource == OzoneManagerLock.Resource.VOLUME_LOCK) {
+ } else if (resource == OzoneManagerLock.LeveledResource.VOLUME_LOCK) {
return OM_KEY_PREFIX + resourceName;
- } else if (resource == OzoneManagerLock.Resource.USER_LOCK) {
+ } else if (resource == OzoneManagerLock.LeveledResource.USER_LOCK) {
return OM_USER_PREFIX + resourceName;
- } else if (resource == OzoneManagerLock.Resource.S3_SECRET_LOCK) {
+ } else if (resource == OzoneManagerLock.LeveledResource.S3_SECRET_LOCK) {
return OM_S3_SECRET + resourceName;
- } else if (resource == OzoneManagerLock.Resource.PREFIX_LOCK) {
+ } else if (resource == OzoneManagerLock.LeveledResource.PREFIX_LOCK) {
return OM_PREFIX + resourceName;
} else {
// This is for developers who mistakenly call this method with resource
diff --git
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestKeyPathLock.java
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestKeyPathLock.java
index 6441454f81..53fdc65988 100644
---
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestKeyPathLock.java
+++
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestKeyPathLock.java
@@ -39,8 +39,8 @@ class TestKeyPathLock extends TestOzoneManagerLock {
private static final Logger LOG =
LoggerFactory.getLogger(TestKeyPathLock.class);
- private final OzoneManagerLock.Resource resource =
- OzoneManagerLock.Resource.KEY_PATH_LOCK;
+ private final OzoneManagerLock.LeveledResource resource =
+ OzoneManagerLock.LeveledResource.KEY_PATH_LOCK;
@Test
void testKeyPathLockMultiThreading() throws Exception {
@@ -224,8 +224,8 @@ private void testDiffKeyPathWriteLockMultiThreadingUtil(
@Test
void testAcquireWriteBucketLockWhileAcquiredWriteKeyPathLock() {
- OzoneManagerLock.Resource higherResource =
- OzoneManagerLock.Resource.BUCKET_LOCK;
+ OzoneManagerLock.LeveledResource higherResource =
+ OzoneManagerLock.LeveledResource.BUCKET_LOCK;
String volumeName = UUID.randomUUID().toString();
String bucketName = UUID.randomUUID().toString();
@@ -246,8 +246,8 @@ void
testAcquireWriteBucketLockWhileAcquiredWriteKeyPathLock() {
@Test
void testAcquireWriteBucketLockWhileAcquiredReadKeyPathLock() {
- OzoneManagerLock.Resource higherResource =
- OzoneManagerLock.Resource.BUCKET_LOCK;
+ OzoneManagerLock.LeveledResource higherResource =
+ OzoneManagerLock.LeveledResource.BUCKET_LOCK;
String volumeName = UUID.randomUUID().toString();
String bucketName = UUID.randomUUID().toString();
@@ -268,8 +268,8 @@ void
testAcquireWriteBucketLockWhileAcquiredReadKeyPathLock() {
@Test
void testAcquireReadBucketLockWhileAcquiredReadKeyPathLock() {
- OzoneManagerLock.Resource higherResource =
- OzoneManagerLock.Resource.BUCKET_LOCK;
+ OzoneManagerLock.LeveledResource higherResource =
+ OzoneManagerLock.LeveledResource.BUCKET_LOCK;
String volumeName = UUID.randomUUID().toString();
String bucketName = UUID.randomUUID().toString();
@@ -290,8 +290,8 @@ void
testAcquireReadBucketLockWhileAcquiredReadKeyPathLock() {
@Test
void testAcquireReadBucketLockWhileAcquiredWriteKeyPathLock() {
- OzoneManagerLock.Resource higherResource =
- OzoneManagerLock.Resource.BUCKET_LOCK;
+ OzoneManagerLock.LeveledResource higherResource =
+ OzoneManagerLock.LeveledResource.BUCKET_LOCK;
String volumeName = UUID.randomUUID().toString();
String bucketName = UUID.randomUUID().toString();
diff --git
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestOzoneManagerLock.java
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestOzoneManagerLock.java
index 3f1e7ca83c..a3d3a40eda 100644
---
a/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestOzoneManagerLock.java
+++
b/hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/lock/TestOzoneManagerLock.java
@@ -33,7 +33,7 @@
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.metrics2.MetricsRecord;
import org.apache.hadoop.metrics2.impl.MetricsCollectorImpl;
-import org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource;
+import org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
@@ -45,12 +45,12 @@ class TestOzoneManagerLock {
@ParameterizedTest
@EnumSource
- void acquireResourceLock(Resource resource) {
+ void acquireResourceLock(LeveledResource resource) {
String[] resourceName = generateResourceName(resource);
testResourceLock(resourceName, resource);
}
- private void testResourceLock(String[] resourceName, Resource resource) {
+ private void testResourceLock(String[] resourceName, LeveledResource
resource) {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
lock.acquireWriteLock(resource, resourceName);
assertDoesNotThrow(() -> lock.releaseWriteLock(resource, resourceName));
@@ -58,19 +58,19 @@ private void testResourceLock(String[] resourceName,
Resource resource) {
@ParameterizedTest
@EnumSource
- void reacquireResourceLock(Resource resource) {
+ void reacquireResourceLock(LeveledResource resource) {
String[] resourceName = generateResourceName(resource);
testResourceReacquireLock(resourceName, resource);
}
private void testResourceReacquireLock(String[] resourceName,
- Resource resource) {
+ LeveledResource resource) {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
// Lock re-acquire not allowed by same thread.
- if (resource == Resource.USER_LOCK ||
- resource == Resource.S3_SECRET_LOCK ||
- resource == Resource.PREFIX_LOCK) {
+ if (resource == LeveledResource.USER_LOCK ||
+ resource == LeveledResource.S3_SECRET_LOCK ||
+ resource == LeveledResource.PREFIX_LOCK) {
lock.acquireWriteLock(resource, resourceName);
RuntimeException ex =
assertThrows(RuntimeException.class, () ->
lock.acquireWriteLock(resource, resourceName));
@@ -94,12 +94,12 @@ void testLockingOrder() {
// What this test does is iterate all resources. For each resource
// acquire lock, and then in inner loop acquire all locks with higher
// lock level, finally release the locks.
- for (Resource resource : Resource.values()) {
+ for (LeveledResource resource : LeveledResource.values()) {
Stack<ResourceInfo> stack = new Stack<>();
resourceName = generateResourceName(resource);
lock.acquireWriteLock(resource, resourceName);
stack.push(new ResourceInfo(resourceName, resource));
- for (Resource higherResource : Resource.values()) {
+ for (LeveledResource higherResource : LeveledResource.values()) {
if (higherResource.getMask() > resource.getMask()) {
resourceName = generateResourceName(higherResource);
lock.acquireWriteLock(higherResource, resourceName);
@@ -117,9 +117,9 @@ void testLockingOrder() {
@ParameterizedTest
@EnumSource
- void testLockViolationsWithOneHigherLevelLock(Resource resource) {
+ void testLockViolationsWithOneHigherLevelLock(LeveledResource resource) {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
- for (Resource higherResource : Resource.values()) {
+ for (LeveledResource higherResource : LeveledResource.values()) {
if (higherResource.getMask() > resource.getMask()) {
String[] resourceName = generateResourceName(higherResource);
lock.acquireWriteLock(higherResource, resourceName);
@@ -144,10 +144,10 @@ void testLockViolations() {
// What this test does is iterate all resources. For each resource
// acquire an higher level lock above the resource, and then take the the
// lock. This should fail. Like that it tries all error combinations.
- for (Resource resource : Resource.values()) {
+ for (LeveledResource resource : LeveledResource.values()) {
Stack<ResourceInfo> stack = new Stack<>();
List<String> currentLocks = new ArrayList<>();
- for (Resource higherResource : Resource.values()) {
+ for (LeveledResource higherResource : LeveledResource.values()) {
if (higherResource.getMask() > resource.getMask()) {
resourceName = generateResourceName(higherResource);
lock.acquireWriteLock(higherResource, resourceName);
@@ -178,15 +178,15 @@ void releaseLockWithOutAcquiringLock() {
OzoneManagerLock lock =
new OzoneManagerLock(new OzoneConfiguration());
assertThrows(IllegalMonitorStateException.class,
- () -> lock.releaseWriteLock(Resource.USER_LOCK, "user3"));
+ () -> lock.releaseWriteLock(LeveledResource.USER_LOCK, "user3"));
}
- private String[] generateResourceName(Resource resource) {
- if (resource == Resource.BUCKET_LOCK) {
+ private String[] generateResourceName(LeveledResource resource) {
+ if (resource == LeveledResource.BUCKET_LOCK) {
return new String[]{UUID.randomUUID().toString(),
UUID.randomUUID().toString()};
- } else if ((resource == Resource.KEY_PATH_LOCK) ||
- (resource == Resource.SNAPSHOT_LOCK)) {
+ } else if ((resource == LeveledResource.KEY_PATH_LOCK) ||
+ (resource == LeveledResource.SNAPSHOT_LOCK)) {
return new String[]{UUID.randomUUID().toString(),
UUID.randomUUID().toString(), UUID.randomUUID().toString()};
} else {
@@ -199,9 +199,9 @@ private String[] generateResourceName(Resource resource) {
*/
private static class ResourceInfo {
private final String[] lockName;
- private final Resource resource;
+ private final LeveledResource resource;
- ResourceInfo(String[] resourceName, Resource resource) {
+ ResourceInfo(String[] resourceName, LeveledResource resource) {
this.lockName = resourceName;
this.resource = resource;
}
@@ -210,7 +210,7 @@ public String[] getLockName() {
return lockName.clone();
}
- public Resource getResource() {
+ public LeveledResource getResource() {
return resource;
}
}
@@ -236,12 +236,12 @@ void reAcquireMultiUserLock() {
@Test
void acquireMultiUserLockAfterUserLock() {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
- lock.acquireWriteLock(Resource.USER_LOCK, "user3");
+ lock.acquireWriteLock(LeveledResource.USER_LOCK, "user3");
Exception e = assertThrows(RuntimeException.class,
() -> lock.acquireMultiUserLock("user1", "user2"));
assertThat(e)
.hasMessageContaining("cannot acquire USER_LOCK lock while holding
[USER_LOCK] lock(s).");
- lock.releaseWriteLock(Resource.USER_LOCK, "user3");
+ lock.releaseWriteLock(LeveledResource.USER_LOCK, "user3");
}
@Test
@@ -249,7 +249,7 @@ void acquireUserLockAfterMultiUserLock() {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
lock.acquireMultiUserLock("user1", "user2");
Exception e = assertThrows(RuntimeException.class,
- () -> lock.acquireWriteLock(Resource.USER_LOCK, "user3"));
+ () -> lock.acquireWriteLock(LeveledResource.USER_LOCK, "user3"));
assertThat(e)
.hasMessageContaining("cannot acquire USER_LOCK lock while holding
[USER_LOCK] lock(s).");
lock.releaseMultiUserLock("user1", "user2");
@@ -259,8 +259,8 @@ void acquireUserLockAfterMultiUserLock() {
void testLockResourceParallel() throws Exception {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
- for (Resource resource :
- Resource.values()) {
+ for (LeveledResource resource :
+ LeveledResource.values()) {
final String[] resourceName = generateResourceName(resource);
lock.acquireWriteLock(resource, resourceName);
@@ -289,7 +289,7 @@ void testLockResourceParallel() throws Exception {
void testMultiLocksResourceParallel() throws Exception {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
- for (Resource resource : Resource.values()) {
+ for (LeveledResource resource : LeveledResource.values()) {
final List<String[]> resourceName =
Arrays.asList(generateResourceName(resource),
generateResourceName(resource), generateResourceName(resource));
lock.acquireWriteLocks(resource, resourceName.subList(1,
resourceName.size()));
@@ -344,12 +344,12 @@ void testMultiLockResourceParallel() throws Exception {
// USER_LOCK, S3_SECRET_LOCK and PREFIX_LOCK disallow lock re-acquire by
// the same thread.
names = { "PREFIX_LOCK", "S3_SECRET_LOCK", "USER_LOCK" })
- void testLockHoldCount(Resource resource) {
+ void testLockHoldCount(LeveledResource resource) {
String[] resourceName = generateResourceName(resource);
testLockHoldCountUtil(resource, resourceName);
}
- private void testLockHoldCountUtil(Resource resource,
+ private void testLockHoldCountUtil(LeveledResource resource,
String[] resourceName) {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
@@ -387,14 +387,14 @@ private void testLockHoldCountUtil(Resource resource,
@ParameterizedTest
@EnumSource
- void testLockConcurrentStats(Resource resource) throws InterruptedException {
+ void testLockConcurrentStats(LeveledResource resource) throws
InterruptedException {
String[] resourceName = generateResourceName(resource);
testReadLockConcurrentStats(resource, resourceName, 10);
testWriteLockConcurrentStats(resource, resourceName, 5);
testSyntheticReadWriteLockConcurrentStats(resource, resourceName, 10, 3);
}
- private void testReadLockConcurrentStats(Resource resource,
+ private void testReadLockConcurrentStats(LeveledResource resource,
String[] resourceName,
int threadCount)
throws InterruptedException {
@@ -426,7 +426,7 @@ private void testReadLockConcurrentStats(Resource resource,
assertThat(readWaitingStat).contains("Samples = " + threadCount);
}
- private void testWriteLockConcurrentStats(Resource resource,
+ private void testWriteLockConcurrentStats(LeveledResource resource,
String[] resourceName,
int threadCount)
throws InterruptedException {
@@ -459,7 +459,7 @@ private void testWriteLockConcurrentStats(Resource resource,
}
private void testSyntheticReadWriteLockConcurrentStats(
- Resource resource, String[] resourceName,
+ LeveledResource resource, String[] resourceName,
int readThreadCount, int writeThreadCount)
throws InterruptedException {
OzoneManagerLock lock = new OzoneManagerLock(new OzoneConfiguration());
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/BucketManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/BucketManagerImpl.java
index 1f13a6cd19..d6775b0495 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/BucketManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/BucketManagerImpl.java
@@ -19,7 +19,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.BUCKET_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.INTERNAL_ERROR;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
index 909ee5a277..6a493c1f31 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
@@ -74,7 +74,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.SCM_GET_PIPELINE_EXCEPTION;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.VOLUME_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static org.apache.hadoop.ozone.security.acl.OzoneObj.ResourceType.KEY;
import static org.apache.hadoop.ozone.util.MetricUtil.captureLatencyNs;
import static org.apache.hadoop.util.Time.monotonicNow;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ListIterator.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ListIterator.java
index 3d0e2b71db..426e7b73ec 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ListIterator.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ListIterator.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.Closeable;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
index 410d3ce364..526145d169 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
@@ -90,8 +90,8 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.NOT_SUPPORTED_OPERATION;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.PERMISSION_DENIED;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.TOKEN_ERROR_OTHER;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import static
org.apache.hadoop.ozone.om.ratis.OzoneManagerRatisServer.RaftServerStatus.LEADER_AND_READY;
import static
org.apache.hadoop.ozone.om.ratis.OzoneManagerRatisServer.getRaftGroupIdFromOmServiceId;
import static
org.apache.hadoop.ozone.om.s3.S3SecretStoreConfigurationKeys.DEFAULT_SECRET_STORAGE_TYPE;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/PrefixManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/PrefixManagerImpl.java
index 50c1574ecb..f6615b92f2 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/PrefixManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/PrefixManagerImpl.java
@@ -23,7 +23,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.INVALID_PATH_IN_ACL_REQUEST;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.PREFIX_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.VOLUME_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.PREFIX_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.PREFIX_LOCK;
import static
org.apache.hadoop.ozone.security.acl.OzoneObj.ResourceType.PREFIX;
import com.google.common.annotations.VisibleForTesting;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
index f761f31db6..56bfc45c1e 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
@@ -19,7 +19,7 @@
import static
org.apache.hadoop.ozone.om.OMConfigKeys.SNAPSHOT_SST_DELETING_LIMIT_PER_TASK;
import static
org.apache.hadoop.ozone.om.OMConfigKeys.SNAPSHOT_SST_DELETING_LIMIT_PER_TASK_DEFAULT;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.SNAPSHOT_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.SNAPSHOT_LOCK;
import static
org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.getColumnFamilyToKeyPrefixMap;
import com.google.common.annotations.VisibleForTesting;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
index 7ad8ccf3a0..0f1be78557 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.ozone.om;
import static org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.USER_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.USER_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/OBSKeyPathLockStrategy.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/OBSKeyPathLockStrategy.java
index a5e9d78f40..c715856db8 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/OBSKeyPathLockStrategy.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/OBSKeyPathLockStrategy.java
@@ -17,8 +17,8 @@
package org.apache.hadoop.ozone.om.lock;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.KEY_PATH_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.KEY_PATH_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/RegularBucketLockStrategy.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/RegularBucketLockStrategy.java
index ad09a00094..76071a408b 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/RegularBucketLockStrategy.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/lock/RegularBucketLockStrategy.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.lock;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import org.apache.hadoop.ozone.om.OMMetadataManager;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java
index 09d7c20e45..a89cdf5eb4 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java
@@ -21,8 +21,8 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.BUCKET_ALREADY_EXISTS;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.VOLUME_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.helpers.OzoneAclUtil.getDefaultAclList;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketDeleteRequest.java
index bdc1b0455c..4d802f9078 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketDeleteRequest.java
@@ -19,8 +19,8 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.BUCKET_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.CONTAINS_SNAPSHOT;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetOwnerRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetOwnerRequest.java
index a2bc5df998..e60d5019ff 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetOwnerRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetOwnerRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.bucket;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java
index ee65009e95..8ae403c3e8 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketSetPropertyRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.bucket;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java
index 609f5390c0..565c6e4854 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/acl/OMBucketAclRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.bucket.acl;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java
index 9c8d7c2dc9..a877374cdb 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.file;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.FILE_ALREADY_EXISTS;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.DIRECTORY_EXISTS_IN_GIVENPATH;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.FILE_EXISTS;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.FILE_EXISTS_IN_GIVENPATH;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java
index eca6554c50..5adcfec961 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequestWithFSO.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.file;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.FILE_ALREADY_EXISTS;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.DIRECTORY_EXISTS_IN_GIVENPATH;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.FILE_EXISTS;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.FILE_EXISTS_IN_GIVENPATH;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
index f8747ac07d..f7f38474fd 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.file;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.DIRECTORY_EXISTS;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.FILE_EXISTS;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.FILE_EXISTS_IN_GIVENPATH;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
index 3f5b16ec36..d04c9f421e 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequestWithFSO.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.file;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
index a818a3ac89..3039992571 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMRecoverLeaseRequest.java
@@ -24,7 +24,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_ALREADY_CLOSED;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_UNDER_LEASE_SOFT_LIMIT_PERIOD;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.HBASE_SUPPORT;
import static
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Type.RecoverLease;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
index a693807398..7c5660b938 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java
@@ -19,7 +19,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_UNDER_LEASE_RECOVERY;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
index 5d0db0477c..799983cbe4 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequestWithFSO.java
@@ -19,7 +19,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_UNDER_LEASE_RECOVERY;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import jakarta.annotation.Nonnull;
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 f1d52b443a..5593097361 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
@@ -19,7 +19,7 @@
import static org.apache.hadoop.hdds.HddsUtils.fromProtobuf;
import static org.apache.hadoop.ozone.OzoneConsts.DELETED_HSYNC_KEY;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.validatePreviousSnapshotId;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
index 09d010856b..b5fad1ade6 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java
@@ -22,7 +22,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_UNDER_LEASE_RECOVERY;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.NOT_A_FILE;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.NOT_SUPPORTED_OPERATION;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
index 674cb04dc2..9ac2fab25b 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequestWithFSO.java
@@ -20,7 +20,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_ALREADY_CLOSED;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_UNDER_LEASE_RECOVERY;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.annotations.VisibleForTesting;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
index 3672899163..ca794fea03 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequestWithFSO.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.key;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.NOT_A_FILE;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.DIRECTORY_EXISTS;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.FILE_EXISTS_IN_GIVENPATH;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java
index cf3b675f34..228142febb 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java
@@ -19,7 +19,7 @@
import static org.apache.hadoop.ozone.OzoneConsts.DELETED_HSYNC_KEY;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static org.apache.hadoop.ozone.util.MetricUtil.captureLatencyNs;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
index 9415248fca..1fc3ec615f 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequestWithFSO.java
@@ -20,7 +20,7 @@
import static org.apache.hadoop.ozone.OzoneConsts.DELETED_HSYNC_KEY;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.DIRECTORY_NOT_EMPTY;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static org.apache.hadoop.ozone.util.MetricUtil.captureLatencyNs;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java
index 3af8c7420b..ae10fb932c 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.key;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
index cbab201b55..8163b902db 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequestWithFSO.java
@@ -20,7 +20,7 @@
import static org.apache.hadoop.ozone.OmUtils.normalizeKey;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.RENAME_OPEN_FILE;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
index 3242f0f436..133af085df 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java
@@ -28,7 +28,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.INVALID_REQUEST;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.VOLUME_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.helpers.OzoneAclUtil.getDefaultAclList;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static org.apache.hadoop.util.Time.monotonicNow;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequest.java
index 4322e543fa..353a177570 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.key;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequestWithFSO.java
index bdff04bfa9..009bcd1662 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeySetTimesRequestWithFSO.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.key;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysDeleteRequest.java
index 71f209bc32..3d79df51bb 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysDeleteRequest.java
@@ -26,7 +26,7 @@
import static org.apache.hadoop.ozone.OzoneConsts.UNDELETED_KEYS_LIST;
import static org.apache.hadoop.ozone.OzoneConsts.VOLUME;
import static org.apache.hadoop.ozone.audit.OMAction.DELETE_KEYS;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.OK;
import static
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.PARTIAL_DELETE;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysRenameRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysRenameRequest.java
index 34c2bf3a77..ef4d64b27c 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysRenameRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeysRenameRequest.java
@@ -19,7 +19,7 @@
import static org.apache.hadoop.ozone.OzoneConsts.RENAMED_KEYS_MAP;
import static org.apache.hadoop.ozone.OzoneConsts.UNRENAMED_KEYS_MAP;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.OK;
import static
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.PARTIAL_RENAME;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMOpenKeysDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMOpenKeysDeleteRequest.java
index b98ef28d38..88430e6606 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMOpenKeysDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMOpenKeysDeleteRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.key;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequest.java
index b72ace2a9d..67a7f8a626 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.key.acl;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java
index 6089d32013..f32a22b173 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/OMKeyAclRequestWithFSO.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.key.acl;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/prefix/OMPrefixAclRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/prefix/OMPrefixAclRequest.java
index d638cebd65..5e1f351356 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/prefix/OMPrefixAclRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/acl/prefix/OMPrefixAclRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.key.acl.prefix;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.PREFIX_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.PREFIX_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
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 643cab1f1b..5f7d01d9a7 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
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.multipart;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.util.ArrayList;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
index 519ed3024c..ac27d0e0a1 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.multipart;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
index 3dcbcc9694..7e78163560 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3InitiateMultipartUploadRequestWithFSO.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.multipart;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import static
org.apache.hadoop.ozone.om.request.file.OMFileRequest.OMDirectoryResult.DIRECTORY_EXISTS;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
index fbff130459..1e64edfb5b 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadAbortRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.multipart;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
index 91e4b20309..845f4adc83 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCommitPartRequest.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.s3.multipart;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.annotations.VisibleForTesting;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
index 4355dc13b2..133efc38c8 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/multipart/S3MultipartUploadCompleteRequest.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.s3.multipart;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.NOT_A_FILE;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import jakarta.annotation.Nullable;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequest.java
index 19667bd0a2..12c4ce13de 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequest.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.s3.tagging;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequestWithFSO.java
index 73dc1ae44a..b40e6c1f8a 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3DeleteObjectTaggingRequestWithFSO.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.tagging;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.util.Map;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequest.java
index 71eb58c152..23d7a40f26 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequest.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.s3.tagging;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.KEY_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequestWithFSO.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequestWithFSO.java
index 6a1855e686..05a45322c5 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequestWithFSO.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tagging/S3PutObjectTaggingRequestWithFSO.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.tagging;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
import java.io.IOException;
import java.util.Map;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
index a2f8209b64..08979e4e80 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignAdminRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.tenant;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.MULTITENANCY_SCHEMA;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
index 1b2d925736..bb2c1a1878 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantAssignUserAccessIdRequest.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.request.s3.tenant;
import static
org.apache.hadoop.ozone.OzoneConsts.OZONE_MAXIMUM_ACCESS_ID_LENGTH;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.MULTITENANCY_SCHEMA;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
index a32bd36190..3732f074bb 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantCreateRequest.java
@@ -20,8 +20,8 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.TENANT_ALREADY_EXISTS;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.USER_NOT_FOUND;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.VOLUME_ALREADY_EXISTS;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.USER_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.USER_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.MULTITENANCY_SCHEMA;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
index 6b80cfda23..d469fe5662 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantDeleteRequest.java
@@ -19,7 +19,7 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.TENANT_NOT_EMPTY;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.TENANT_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.MULTITENANCY_SCHEMA;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
index 73d9ea8e49..469eed85e8 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeAdminRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.tenant;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.MULTITENANCY_SCHEMA;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
index 50fdc1e109..2458c86562 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/s3/tenant/OMTenantRevokeUserAccessIdRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.s3.tenant;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.MULTITENANCY_SCHEMA;
import com.google.common.base.Preconditions;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotCreateRequest.java
index 8efa517a75..57c4bb129b 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotCreateRequest.java
@@ -20,8 +20,8 @@
import static org.apache.hadoop.hdds.HddsUtils.fromProtobuf;
import static org.apache.hadoop.hdds.HddsUtils.toProtobuf;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.FILE_ALREADY_EXISTS;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.SNAPSHOT_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.SNAPSHOT_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.FILESYSTEM_SNAPSHOT;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
index 85b19a89fe..3f8bae61c5 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.ozone.om.request.snapshot;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.FILE_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.SNAPSHOT_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.SNAPSHOT_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.FILESYSTEM_SNAPSHOT;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotRenameRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotRenameRequest.java
index 060e1d6ec8..5a25d85947 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotRenameRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotRenameRequest.java
@@ -19,8 +19,8 @@
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.FILE_ALREADY_EXISTS;
import static
org.apache.hadoop.ozone.om.exceptions.OMException.ResultCodes.FILE_NOT_FOUND;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.SNAPSHOT_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.SNAPSHOT_LOCK;
import static
org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature.FILESYSTEM_SNAPSHOT;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMQuotaRepairRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMQuotaRepairRequest.java
index aef5953e2f..819edf6c01 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMQuotaRepairRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMQuotaRepairRequest.java
@@ -19,8 +19,8 @@
import static org.apache.hadoop.ozone.OzoneConsts.OLD_QUOTA_DEFAULT;
import static org.apache.hadoop.ozone.OzoneConsts.QUOTA_RESET;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.BUCKET_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.BUCKET_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java
index 43afb3f735..4f05b5d266 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeCreateRequest.java
@@ -18,8 +18,8 @@
package org.apache.hadoop.ozone.om.request.volume;
import static
org.apache.hadoop.ozone.om.helpers.OzoneAclUtil.getDefaultAclList;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.USER_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.USER_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeDeleteRequest.java
index 630ec784ce..943a5ea570 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeDeleteRequest.java
@@ -17,8 +17,8 @@
package org.apache.hadoop.ozone.om.request.volume;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.USER_LOCK;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.USER_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetOwnerRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetOwnerRequest.java
index d4a15f0d29..f9a6fa3035 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetOwnerRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetOwnerRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.volume;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetQuotaRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetQuotaRequest.java
index 721cdd673d..b4279eac2d 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetQuotaRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetQuotaRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.volume;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import com.google.common.base.Preconditions;
import java.io.IOException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAclRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAclRequest.java
index 32a362e32d..88d786cdd2 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAclRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/acl/OMVolumeAclRequest.java
@@ -17,7 +17,7 @@
package org.apache.hadoop.ozone.om.request.volume.acl;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.VOLUME_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.VOLUME_LOCK;
import java.io.IOException;
import java.nio.file.InvalidPathException;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java
index 5dec1a8263..5a530ee118 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java
@@ -18,7 +18,7 @@
package org.apache.hadoop.ozone.om.response.snapshot;
import static
org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE;
-import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.Resource.SNAPSHOT_LOCK;
+import static
org.apache.hadoop.ozone.om.lock.OzoneManagerLock.LeveledResource.SNAPSHOT_LOCK;
import com.google.common.annotations.VisibleForTesting;
import jakarta.annotation.Nonnull;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/MultiSnapshotLocks.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/MultiSnapshotLocks.java
index aac3b097b2..fc92499c44 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/MultiSnapshotLocks.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/MultiSnapshotLocks.java
@@ -35,11 +35,11 @@
public class MultiSnapshotLocks {
private final List<String[]> objectLocks;
private final IOzoneManagerLock lock;
- private final OzoneManagerLock.Resource resource;
+ private final OzoneManagerLock.LeveledResource resource;
private final boolean writeLock;
private OMLockDetails lockDetails;
- public MultiSnapshotLocks(IOzoneManagerLock lock, OzoneManagerLock.Resource
resource, boolean writeLock) {
+ public MultiSnapshotLocks(IOzoneManagerLock lock,
OzoneManagerLock.LeveledResource resource, boolean writeLock) {
this.writeLock = writeLock;
this.resource = resource;
this.lock = lock;
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/filter/ReclaimableFilter.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/filter/ReclaimableFilter.java
index ec8cd0d110..d67159b1a5 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/filter/ReclaimableFilter.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/filter/ReclaimableFilter.java
@@ -88,7 +88,7 @@ public ReclaimableFilter(
this.omSnapshotManager = omSnapshotManager;
this.currentSnapshotInfo = currentSnapshotInfo;
this.snapshotChainManager = snapshotChainManager;
- this.snapshotIdLocks = new MultiSnapshotLocks(lock,
OzoneManagerLock.Resource.SNAPSHOT_GC_LOCK, false);
+ this.snapshotIdLocks = new MultiSnapshotLocks(lock,
OzoneManagerLock.LeveledResource.SNAPSHOT_GC_LOCK, false);
this.keyManager = keyManager;
this.numberOfPreviousSnapshotsFromChain =
numberOfPreviousSnapshotsFromChain;
this.previousOmSnapshots = new
ArrayList<>(numberOfPreviousSnapshotsFromChain);
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestMultiSnapshotLocks.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestMultiSnapshotLocks.java
index 3955f8f6a8..9c358a9261 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestMultiSnapshotLocks.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestMultiSnapshotLocks.java
@@ -54,7 +54,7 @@ public class TestMultiSnapshotLocks {
private IOzoneManagerLock mockLock;
@Mock
- private OzoneManagerLock.Resource mockResource;
+ private OzoneManagerLock.LeveledResource mockResource;
private MultiSnapshotLocks multiSnapshotLocks;
private UUID obj1 = UUID.randomUUID();
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/filter/AbstractReclaimableFilterTest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/filter/AbstractReclaimableFilterTest.java
index 1aeafc5c5a..2453487e5c 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/filter/AbstractReclaimableFilterTest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/filter/AbstractReclaimableFilterTest.java
@@ -125,14 +125,14 @@ protected SnapshotInfo setup(
this.snapshotChainManager = mock(SnapshotChainManager.class);
this.keyManager = mock(KeyManager.class);
IOzoneManagerLock ozoneManagerLock = mock(IOzoneManagerLock.class);
-
when(ozoneManagerLock.acquireReadLocks(eq(OzoneManagerLock.Resource.SNAPSHOT_GC_LOCK),
anyList()))
+
when(ozoneManagerLock.acquireReadLocks(eq(OzoneManagerLock.LeveledResource.SNAPSHOT_GC_LOCK),
anyList()))
.thenAnswer(i -> {
lockIds.set(
(List<UUID>) i.getArgument(1, List.class).stream().map(val ->
UUID.fromString(((String[]) val)[0]))
.collect(Collectors.toList()));
return OMLockDetails.EMPTY_DETAILS_LOCK_ACQUIRED;
});
-
when(ozoneManagerLock.releaseReadLocks(eq(OzoneManagerLock.Resource.SNAPSHOT_GC_LOCK),
anyList()))
+
when(ozoneManagerLock.releaseReadLocks(eq(OzoneManagerLock.LeveledResource.SNAPSHOT_GC_LOCK),
anyList()))
.thenAnswer(i -> {
Assertions.assertEquals(lockIds.get(),
i.getArgument(1, List.class).stream().map(val ->
UUID.fromString(((String[]) val)[0]))
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]