The documentation of Swift describes how it is possible to change
metadata entries, asif it were a key-value store. However, I was
surprised to learn that metadata is treated as a whole, and posting one
metadata header, will delete all other existing meta data.

This is particularly risky if things like X-Delete-After are used, as
updating the Content-Type equally destroys this attribute if you're not
careful. Worse even, there is no way to be careful; I know of no way to
atomically request a HEAD and then send a POST, leaving the some
concurrency issues open.

I really think we need a way to update single entries in the metadata. I
propose adding the "X-Merge-Metadata: yes". When this header is present,
existing metadata will be merged with the provided metadata. If we can
reach a consensus, I'll have an implementation ready to merge shortly
after the summit.

[1]
http://docs.openstack.org/api/openstack-object-storage/1.0/content/object-metadata.html

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to