[api-ref]Allow SLO PUTs to forgo per-segment integrity checks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Invalid
|
Medium
|
Unassigned |
Bug Description
https:/
commit bb716573ab5c845
Author: Tim Burke <email address hidden>
Date: Wed May 20 00:39:41 2015 -0700
Allow SLO PUTs to forgo per-segment integrity checks
While manifests still require 'etag' and 'size_bytes' fields for each
segment (to catch user errors like 'etaf' or 'size_btyes'), an explicit
null for either will skip that particular integrity check and instead
use whatever value is retrieved when HEADing the segment. So, if a user
uploads a manifest like:
[{"path": "/con/obj_seg_1", "etag": null, "size_bytes": 1048576},
{"path": "/con/obj_seg_2", "etag": "etag2", "size_bytes": null},
{"path": "/con/obj_seg_3", "etag": null, "size_bytes": null}]
then the etag will only be verified for the /con/obj_seg_2 segment,
and the segment size will only be verified for the /con/obj_seg_1
segment. However, the manifest that's ultimately stored (and can be
retrieved with a ?multipart-
like:
[{"name": "/con/obj_seg_1", "hash": "etag1", "bytes": 1048576, ...},
{"name": "/con/obj_seg_2", "hash": "etag2", "bytes": 1048576, ...},
{"name": "/con/obj_seg_3", "hash": "etag3", "bytes": 1234, ...}]
This allows the middleware to continue performing integrity checks on
object GET.
Change-Id: I2c4e585221387d
DocImpact
Changed in openstack-manuals: | |
milestone: | none → liberty |
Changed in openstack-api-site: | |
milestone: | none → liberty |
Changed in openstack-api-site: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
no longer affects: | openstack-manuals |
affects: | openstack-api-site → swift |
Changed in swift: | |
milestone: | liberty → none |
tags: | added: api-ref |
summary: |
- Allow SLO PUTs to forgo per-segment integrity checks + [api-ref]Allow SLO PUTs to forgo per-segment integrity checks |
This is an API doc change only.