Project

General

Profile

Actions

Bug #58879

open

S3 CompleteMultipartUploadResult has empty ETag element

Added by Casey Bodley about 1 year ago. Updated about 1 month ago.

Status:
Pending Backport
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
multipart low-hanging-fruit backport_processed
Backport:
pacific quincy reef
Regression:
Yes
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/  <http://s3.amazonaws.com/doc/2006-03-01/>">
     <Location>s3.myceph.com/test-bucket/test.file</Location>
     <Bucket>test-bucket</Bucket>
     <Key>test.file</Key>
     <ETag></ETag>
</CompleteMultipartUploadResult>

The ETag element should not be empty.


Related issues 4 (1 open3 closed)

Related to rgw - Bug #6830: S3 CompleteMultipartUploadResult has empty ETag elementResolvedJosh Durgin11/21/2013

Actions
Copied to rgw - Backport #59729: pacific: S3 CompleteMultipartUploadResult has empty ETag elementResolvedKonstantin ShalyginActions
Copied to rgw - Backport #59730: quincy: S3 CompleteMultipartUploadResult has empty ETag elementIn ProgressKonstantin ShalyginActions
Copied to rgw - Backport #59731: reef: S3 CompleteMultipartUploadResult has empty ETag elementResolvedKonstantin ShalyginActions
Actions #1

Updated by Casey Bodley about 1 year ago

  • Related to Bug #6830: S3 CompleteMultipartUploadResult has empty ETag element added
Actions #2

Updated by Casey Bodley about 1 year ago

  • Tags changed from multipart to multipart low-hanging-fruit
Actions #3

Updated by Daniel Gryniewicz about 1 year ago

  • Pull request ID set to 50627
Actions #4

Updated by Casey Bodley about 1 year ago

  • Status changed from New to Fix Under Review
  • Backport changed from pacific quincy to pacific quincy reef
Actions #5

Updated by Casey Bodley 12 months ago

  • Status changed from Fix Under Review to Pending Backport
Actions #6

Updated by Backport Bot 12 months ago

  • Copied to Backport #59729: pacific: S3 CompleteMultipartUploadResult has empty ETag element added
Actions #7

Updated by Backport Bot 12 months ago

  • Copied to Backport #59730: quincy: S3 CompleteMultipartUploadResult has empty ETag element added
Actions #8

Updated by Backport Bot 12 months ago

  • Copied to Backport #59731: reef: S3 CompleteMultipartUploadResult has empty ETag element added
Actions #9

Updated by Backport Bot 12 months ago

  • Tags changed from multipart low-hanging-fruit to multipart low-hanging-fruit backport_processed
Actions #10

Updated by Matt Benjamin about 1 month ago

This seems to be helping, review appreciated:

diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc
index 3c4c59fc70c..f3f4ce859cb 100644
--- a/src/rgw/rgw_op.cc
+++ b/src/rgw/rgw_op.cc
@@ -6809,10 +6809,17 @@ void RGWCompleteMultipart::execute(optional_yield y)
     ldpp_dout(this, 0) << "WARNING: failed to remove object " << meta_obj << dendl;
   }

+  r = s->object->get_obj_attrs(s->yield, this);
+  if (r < 0) {
+    ldpp_dout(this, 0) << __func__ << "() ERROR: get_obj_attrs() returned ret=" << r << dendl;
+  }
+
+  etag = s->object->get_attrs()[RGW_ATTR_ETAG].to_str();
+
   // send request to notification manager
-  int ret = res->publish_commit(this, ofs, upload->get_mtime(), etag, target_obj->get_instance());
-  if (ret < 0) {
-    ldpp_dout(this, 1) << "ERROR: publishing notification failed, with error: " << ret << dendl;
+  r = res->publish_commit(this, ofs, upload->get_mtime(), etag, target_obj->get_instance());
+  if (r < 0) {
+    ldpp_dout(this, 1) << "ERROR: publishing notification failed, with error: " << r << dendl;
     // too late to rollback operation, hence op_ret is not set here
   }
 } // RGWCompleteMultipart::execute
@@ -6866,8 +6873,6 @@ void RGWCompleteMultipart::complete()
     }
   }

-  etag = s->object->get_attrs()[RGW_ATTR_ETAG].to_str();
-
   send_response();
 }

Actions

Also available in: Atom PDF