← Back to team overview

openstack team mailing list archive

[swift] Updating object metadata in swift

 

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