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
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