swift client header is not used for uploading large object

Bug #1159951 reported by Tong Li
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Tong Li

Bug Description

swift client recently added header command line option, but when large object (segmented) upload occurs, the headers only
used for manifest file not for the segment. This creates inconsistency issues.

The header should be also applied for the segment upload request.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-swiftclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/25319

Changed in python-swiftclient:
assignee: nobody → Tong Li (litong01)
status: New → In Progress
Revision history for this message
Allan Yung (allan-yung) wrote :

This can have serious repercussions with the 'X-Delete-After' header.

The object-expirer will correctly delete manifests with the header, but not the segments, as they do not have the header.

This can lead to accounts filling their quota, when people expect that the large objects are getting expired, rather than just the manifests

Revision history for this message
sirkonst (sirkonst) wrote :


Revision history for this message
Sirisha Guduru (guduru-sirisha) wrote :

Instead of setting the expiration headers on the segments, can we simply delete the segments as well when there is a header set on the manifest? Like it happens when we actually delete a large object using the client.

Revision history for this message
Aloïs (maloddon) wrote :

In fact, applying headers on every request might be easier.
This issue still really serious since it might cost a lot to impacted people.

Revision history for this message
Eric Rouleau (xblitz) wrote :

Any news on this? the latest python-swiftclient is still impacted by this.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers