This is an automated email from the ASF dual-hosted git repository.
sumitagrawal 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 9a8158e9be HDDS-9110. Bucket owner is getting unset on setting quota
on that bucket (#5138)
9a8158e9be is described below
commit 9a8158e9be9a4aebcd861730306686b6e12b644c
Author: Sumit Agrawal <[email protected]>
AuthorDate: Wed Aug 2 22:52:57 2023 +0530
HDDS-9110. Bucket owner is getting unset on setting quota on that bucket
(#5138)
---
.../request/bucket/OMBucketSetPropertyRequest.java | 44 ++--------------------
.../bucket/TestOMBucketSetPropertyRequest.java | 13 ++++---
2 files changed, 12 insertions(+), 45 deletions(-)
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 912289f843..dbbd6c7ee4 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
@@ -146,15 +146,12 @@ public class OMBucketSetPropertyRequest extends
OMClientRequest {
OMException.ResultCodes.NOT_SUPPORTED_OPERATION);
}
- OmBucketInfo.Builder bucketInfoBuilder = OmBucketInfo.newBuilder();
- bucketInfoBuilder.setVolumeName(dbBucketInfo.getVolumeName())
- .setBucketName(dbBucketInfo.getBucketName())
- .setObjectID(dbBucketInfo.getObjectID())
- .setBucketLayout(dbBucketInfo.getBucketLayout())
- .setBucketEncryptionKey(dbBucketInfo.getEncryptionKeyInfo())
- .setUpdateID(transactionLogIndex);
+ OmBucketInfo.Builder bucketInfoBuilder = dbBucketInfo.toBuilder();
+ bucketInfoBuilder.setUpdateID(transactionLogIndex);
bucketInfoBuilder.addAllMetadata(KeyValueUtil
.getFromProtobuf(bucketArgs.getMetadataList()));
+ bucketInfoBuilder.setModificationTime(
+ setBucketPropertyRequest.getModificationTime());
//Check StorageType to update
StorageType storageType = omBucketArgs.getStorageType();
@@ -162,8 +159,6 @@ public class OMBucketSetPropertyRequest extends
OMClientRequest {
bucketInfoBuilder.setStorageType(storageType);
LOG.debug("Updating bucket storage type for bucket: {} in volume: {}",
bucketName, volumeName);
- } else {
- bucketInfoBuilder.setStorageType(dbBucketInfo.getStorageType());
}
//Check Versioning to update
@@ -172,9 +167,6 @@ public class OMBucketSetPropertyRequest extends
OMClientRequest {
bucketInfoBuilder.setIsVersionEnabled(versioning);
LOG.debug("Updating bucket versioning for bucket: {} in volume: {}",
bucketName, volumeName);
- } else {
- bucketInfoBuilder
- .setIsVersionEnabled(dbBucketInfo.getIsVersionEnabled());
}
//Check quotaInBytes and quotaInNamespace to update
@@ -184,15 +176,10 @@ public class OMBucketSetPropertyRequest extends
OMClientRequest {
if (checkQuotaBytesValid(omMetadataManager, omVolumeArgs, omBucketArgs,
dbBucketInfo)) {
bucketInfoBuilder.setQuotaInBytes(omBucketArgs.getQuotaInBytes());
- } else {
- bucketInfoBuilder.setQuotaInBytes(dbBucketInfo.getQuotaInBytes());
}
if (checkQuotaNamespaceValid(omVolumeArgs, omBucketArgs, dbBucketInfo)) {
bucketInfoBuilder.setQuotaInNamespace(
omBucketArgs.getQuotaInNamespace());
- } else {
- bucketInfoBuilder.setQuotaInNamespace(
- dbBucketInfo.getQuotaInNamespace());
}
DefaultReplicationConfig defaultReplicationConfig =
@@ -200,31 +187,8 @@ public class OMBucketSetPropertyRequest extends
OMClientRequest {
if (defaultReplicationConfig != null) {
// Resetting the default replication config.
bucketInfoBuilder.setDefaultReplicationConfig(defaultReplicationConfig);
- } else if (dbBucketInfo.getDefaultReplicationConfig() != null) {
- // Retaining existing default replication config
- bucketInfoBuilder.setDefaultReplicationConfig(
- dbBucketInfo.getDefaultReplicationConfig());
- }
-
- bucketInfoBuilder.setCreationTime(dbBucketInfo.getCreationTime());
- bucketInfoBuilder.setModificationTime(
- setBucketPropertyRequest.getModificationTime());
- // Set acls from dbBucketInfo if it has any.
- if (dbBucketInfo.getAcls() != null) {
- bucketInfoBuilder.setAcls(dbBucketInfo.getAcls());
- }
-
- // Set the objectID to dbBucketInfo objectID, if present
- if (dbBucketInfo.getObjectID() != 0) {
- bucketInfoBuilder.setObjectID(dbBucketInfo.getObjectID());
}
- // Set the updateID to current transaction log index
- bucketInfoBuilder.setUpdateID(transactionLogIndex);
- // Quota used remains unchanged
- bucketInfoBuilder.setUsedBytes(dbBucketInfo.getUsedBytes());
- bucketInfoBuilder.setUsedNamespace(dbBucketInfo.getUsedNamespace());
-
omBucketInfo = bucketInfoBuilder.build();
// Update table cache.
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketSetPropertyRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketSetPropertyRequest.java
index a96b92a7b4..6e5544b621 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketSetPropertyRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketSetPropertyRequest.java
@@ -341,15 +341,16 @@ public class TestOMBucketSetPropertyRequest extends
TestBucketRequest {
}
@Test
- public void testSettingQuotaWithEncryption() throws Exception {
+ public void testSettingQuotaWithEncryptionAndOwner() throws Exception {
String volumeName = UUID.randomUUID().toString();
String bucketName = UUID.randomUUID().toString();
OmBucketInfo.Builder bucketInfo = new OmBucketInfo.Builder()
- .setVolumeName(volumeName)
- .setBucketName(bucketName)
- .setBucketEncryptionKey(new BucketEncryptionKeyInfo.Builder()
- .setKeyName(TEST_KEY).build());
+ .setVolumeName(volumeName)
+ .setBucketName(bucketName)
+ .setOwner("testUser")
+ .setBucketEncryptionKey(new BucketEncryptionKeyInfo.Builder()
+ .setKeyName(TEST_KEY).build());
OMRequestTestUtils.addVolumeToDB(
volumeName, omMetadataManager);
@@ -378,6 +379,8 @@ public class TestOMBucketSetPropertyRequest extends
TestBucketRequest {
dbBucketInfo.getQuotaInBytes());
Assert.assertEquals(1000L,
dbBucketInfo.getQuotaInNamespace());
+ Assert.assertEquals("testUser",
+ dbBucketInfo.getOwner());
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]