Actions
Bug #58879
closedS3 CompleteMultipartUploadResult has empty ETag element
% Done:
100%
Source:
Community (dev)
Backport:
pacific quincy reef
Regression:
Yes
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Tags (freeform):
Merge Commit:
Fixed In:
v18.0.0-3886-g9ac1007c609
Released In:
v19.2.0~2383
Upkeep Timestamp:
2025-07-12T17:38:23+00:00
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.
Updated by Casey Bodley about 3 years ago
- Related to Bug #6830: S3 CompleteMultipartUploadResult has empty ETag element added
Updated by Casey Bodley about 3 years ago
- Status changed from New to Fix Under Review
- Backport changed from pacific quincy to pacific quincy reef
Updated by Casey Bodley almost 3 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Upkeep Bot almost 3 years ago
- Copied to Backport #59729: pacific: S3 CompleteMultipartUploadResult has empty ETag element added
Updated by Upkeep Bot almost 3 years ago
- Copied to Backport #59730: quincy: S3 CompleteMultipartUploadResult has empty ETag element added
Updated by Upkeep Bot almost 3 years ago
- Copied to Backport #59731: reef: S3 CompleteMultipartUploadResult has empty ETag element added
Updated by Matt Benjamin about 2 years 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();
}
Updated by Konstantin Shalygin over 1 year ago
- Status changed from Pending Backport to Resolved
- Assignee set to Ali Masarwa
- % Done changed from 0 to 100
- Source set to Community (dev)
Updated by Upkeep Bot 9 months ago
- Merge Commit set to 9ac1007c6096fc76d442cbd3a8d4a932bad0ed2f
- Fixed In set to v18.0.0-3886-g9ac1007c609
- Released In set to v19.2.0~2383
- Upkeep Timestamp set to 2025-07-12T17:38:23+00:00
Actions