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

agupta 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 ca2d59bde4 HDDS-6650. S3MultipartUpload support update bucket 
usedNamespace. (#4081)
ca2d59bde4 is described below

commit ca2d59bde4614a8fde5beabd2e81ebf022bed2ac
Author: Sumit Agrawal <[email protected]>
AuthorDate: Mon Dec 19 11:26:04 2022 +0530

    HDDS-6650. S3MultipartUpload support update bucket usedNamespace. (#4081)
---
 .../ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java   | 6 ++++++
 .../request/s3/multipart/S3MultipartUploadCommitPartRequest.java  | 8 ++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
index 262b444cc9..6e8af6405f 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneClientMultipartUploadWithFSO.java
@@ -309,6 +309,12 @@ public class TestOzoneClientMultipartUploadWithFSO {
     // comparing part names and large file uploads work using aws cp.
     Assert.assertEquals("Part names should be same", partName,
         commitUploadPartInfo.getPartName());
+
+    // old part bytes written needs discard and have only
+    // new part bytes in quota for this bucket
+    long byteWritten = "name".length() * 3; // data written with replication
+    Assert.assertEquals(volume.getBucket(bucketName).getUsedBytes(),
+        byteWritten);
   }
 
   @Test
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 0644e1f274..57c7e008cc 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
@@ -229,8 +229,12 @@ public class S3MultipartUploadCommitPartRequest extends 
OMKeyRequest {
       omBucketInfo = getBucketInfo(omMetadataManager, volumeName, bucketName);
 
       long correctedSpace = omKeyInfo.getReplicatedSize();
-      // TODO: S3MultipartUpload did not check quota and did not add nameSpace,
-      //  we need to fix these issues in HDDS-6650.
+      if (null != oldPartKeyInfo) {
+        OmKeyInfo partKeyToBeDeleted =
+            OmKeyInfo.getFromProtobuf(oldPartKeyInfo.getPartKeyInfo());
+        correctedSpace -= partKeyToBeDeleted.getReplicatedSize();
+      }
+      checkBucketQuotaInBytes(omBucketInfo, correctedSpace);
       omBucketInfo.incrUsedBytes(correctedSpace);
 
       omResponse.setCommitMultiPartUploadResponse(


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

Reply via email to