This is an automated email from the ASF dual-hosted git repository.
siyao 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 df0d1e81e3 HDDS-7368. [Multi-Tenant] Add Volume Existence check in
preExecute for OMTenantCreateRequest (#3869)
df0d1e81e3 is described below
commit df0d1e81e3d5298ea30c8b37a939c2a9b0f8ae2d
Author: Aswin Shakil Balasubramanian <[email protected]>
AuthorDate: Mon Oct 24 11:07:45 2022 -0700
HDDS-7368. [Multi-Tenant] Add Volume Existence check in preExecute for
OMTenantCreateRequest (#3869)
---
.../ozone/om/request/s3/tenant/OMTenantCreateRequest.java | 11 +++++++++++
1 file changed, 11 insertions(+)
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 d678b8f1d1..885f45beb3 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
@@ -152,6 +152,17 @@ public class OMTenantCreateRequest extends OMVolumeRequest
{
final String volumeName = request.getVolumeName();
// Validate volume name
OmUtils.validateVolumeName(volumeName);
+
+ final String dbVolumeKey = ozoneManager.getMetadataManager()
+ .getVolumeKey(volumeName);
+
+ // Check volume existence
+ if (ozoneManager.getMetadataManager().getVolumeTable()
+ .isExist(dbVolumeKey)) {
+ LOG.debug("volume: '{}' already exists", volumeName);
+ throw new OMException("Volume already exists", VOLUME_ALREADY_EXISTS);
+ }
+
// TODO: Refactor this and OMVolumeCreateRequest to improve
maintainability.
final VolumeInfo volumeInfo = VolumeInfo.newBuilder()
.setVolume(volumeName)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]