Actions
Bug #18241
closedrgw: the Multi-Object Delete operation of S3 API wrongly handles the "Code" response element
% Done:
0%
Source:
Development
Tags:
Backport:
luminous mimic nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Description
According to the AWS documentation the Code element in an error response for Multi-Object Delete should be a string with values resembling codes we usually convey as rgw_http_errors::s3_code.
Code
Status code for the result of the failed delete. .
Type: String
Values: AccessDenied, InternalError
Ancestor: Error
Actually we are dumping Code as int with HTTP response number. In RGWDeleteMultiObj_ObjStore_S3::send_partial_response we have:
s->formatter->open_object_section("Error"); err_no = -op_ret; rgw_get_errno_s3(&r, err_no); s->formatter->dump_string("Key", key.name); s->formatter->dump_string("VersionId", key.instance); s->formatter->dump_int("Code", r.http_ret); s->formatter->dump_string("Message", r.s3_code); s->formatter->close_section();
Actions