Project

General

Profile

Bug #13514

RGW Swift API: response for GET/HEAD on Swift's DLO returns wrong ETag

Added by Radoslaw Zarzynski about 6 years ago. Updated over 1 year ago.

Status:
New
Priority:
Normal
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

radosgw:
$ curl -i "$publicURL/test/big.img" -H "X-Auth-Token: $token"

HTTP/1.1 200 OK
Content-Length: 19
Accept-Ranges: bytes
Last-Modified: Fri, 16 Oct 2015 15:40:07 GMT
X-Timestamp: 1445010007.00000
etag: d41d8cd98f00b204e9800998ecf8427e
X-Object-Meta-mtime: 1444314159.770113
X-Object-Manifest: test_segments/big.img/1444314159.770113/19/2/
X-Trans-Id: tx000000000000000000011-0056211a8f-1049-default
Content-Type: binary/octet-stream
Date: Fri, 16 Oct 2015 15:41:03 GMT

to jest tylko test

Swift:
$ curl -i "$publicURL/test/big.img" -H "X-Auth-Token: $token"

HTTP/1.1 200 OK
Content-Length: 19
Etag: "7a87bdaaf98d65689364ee7de8358ec3"
X-Object-Meta-Mtime: 1444314159.770113
Accept-Ranges: bytes
Last-Modified: Mon, 12 Oct 2015 11:45:19 GMT
X-Object-Manifest: test_segments/big.img/1444314159.770113/19/2/
X-Timestamp: 1444650318.30202
Content-Type: application/octet-stream
X-Trans-Id: tx8440ea175e7a4e7fb40e8-00561b9d62
Date: Mon, 12 Oct 2015 11:45:38 GMT

to jest tylko test

History

#1 Updated by Yuan Zhou about 6 years ago

I find the etag returned in Swift on DLO objects are also some 'fake' stuff.

The response’s ETag for a GET or HEAD on the manifest file will be the MD5 sum of the concatenated string of ETags for each of the segments in the manifest (for DLO, from the listing <container>/

). Usually in Swift the ETag is the MD5 sum of the contents of the object, and that holds true for each segment independently. But it’s not meaningful to generate such an ETag for the manifest itself so this method was chosen to at least offer change detection.

http://docs.openstack.org/developer/swift/overview_large_objects.html#additional-notes

#2 Updated by Yehuda Sadeh about 6 years ago

  • Assignee set to Radoslaw Zarzynski

#3 Updated by Gyorgy Szombathelyi almost 6 years ago

Seems the etag on object manifest is the md5sum of an empty string (the content of the manifest)
echo -n '' | md5sum
d41d8cd98f00b204e9800998ecf8427e

#4 Updated by Mike Almateia almost 6 years ago

We also hitted by this bug.
Ceph 0.80.9-1~u14.04

Some progress to fix it?

#5 Updated by Casey Bodley over 1 year ago

does this still reproduce?

Also available in: Atom PDF