Project

General

Profile

Bug #10475

rgw: setting bucket metadata via swift api removes existing metadata

Added by Josh Durgin about 9 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
High
Target version:
-
% Done:

100%

Source:
Development
Tags:
Backport:
giant, firefly
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

According to http://docs.openstack.org/api/openstack-object-storage/1.0/content/POST_updateContainerMeta__v1__account___container__storage_container_services.html the existing metadata should not be affected.

commit:f67bfa24fd6f69c2fcc0987eba8b6b426dd78320

Associated revisions

Revision f67bfa24 (diff)
Added by Dmytro Iurchenko about 9 years ago

rgw: Swift API. Support for X-Remove-Container-Meta-{key} header.

Fixes: #10475
Backport: hammer, firefly
Reported-by: Josh Durgin <>
Signed-off-by: Dmytro Iurchenko <>

Revision d0fd417e (diff)
Added by Dmytro Iurchenko about 9 years ago

rgw: Swift API. Support for X-Remove-Container-Meta-{key} header.

Fixes: #10475
Backport: hammer, firefly
Reported-by: Josh Durgin <>
Signed-off-by: Dmytro Iurchenko <>
(cherry picked from commit f67bfa24fd6f69c2fcc0987eba8b6b426dd78320)

Conflicts:
src/rgw/rgw_rest.h
trivial merge: prototype of an unrelated function changed
s/is_object_op/!(s->object == NULL)/

Revision c3d998e4 (diff)
Added by Dmytro Iurchenko about 9 years ago

rgw: Swift API. Support for X-Remove-Container-Meta-{key} header.

Fixes: #10475
Backport: hammer, firefly
Reported-by: Josh Durgin <>
Signed-off-by: Dmytro Iurchenko <>
(cherry picked from commit f67bfa24fd6f69c2fcc0987eba8b6b426dd78320)

Conflicts:
src/rgw/rgw_rest.h
trivial merge: prototype of an unrelated function changed
src/rgw/rgw_op.cc
s/is_object_op/!(s->object == NULL)/

History

#1 Updated by Dmytro Yurchenko about 9 years ago

I've started to work on it.

#2 Updated by Yehuda Sadeh about 9 years ago

  • Assignee set to Dmytro Yurchenko

#3 Updated by Josh Durgin about 9 years ago

FWIW I filed this based on reading RGWPutMetadata::execute() during a review: https://github.com/ceph/ceph/blob/6f44f7a0a9847e419ce2783164633efa71218380/src/rgw/rgw_op.cc#L1940

#4 Updated by Dmytro Yurchenko about 9 years ago

  • Status changed from New to In Progress

Sending new metadata to an object will erase existing ones too.
I couldn't test it, because development version has troubles with returning back bucket's custom metadata.
So I had to fix that first. I will provide both fixes in one patch.

#5 Updated by Dmytro Yurchenko about 9 years ago

  • % Done changed from 0 to 20

#6 Updated by Dmytro Yurchenko about 9 years ago

  • % Done changed from 20 to 40

Implemented correct metadata merging and deletion according to:
http://docs.openstack.org/api/openstack-object-storage/1.0/content/delete-container-metadata.html
Now testing and improving the patch before publishing it.

#7 Updated by Dmytro Yurchenko about 9 years ago

  • % Done changed from 40 to 100

Now waiting for the review.
https://github.com/ceph/ceph/pull/3561

#8 Updated by Sage Weil about 9 years ago

  • Status changed from In Progress to Fix Under Review

#9 Updated by Yehuda Sadeh about 9 years ago

  • Status changed from Fix Under Review to Pending Backport

#10 Updated by Loïc Dachary about 9 years ago

  • Description updated (diff)

#11 Updated by Loïc Dachary about 9 years ago

  • Description updated (diff)

#13 Updated by Sage Weil about 9 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF