Project

General

Profile

Actions

Bug #16822

open

Swift API - DLO etag is computed from manifest rather than from etags of segments

Added by Mark Kirkwood almost 8 years ago.

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

0%

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

Description

Consider uploading 2 multi-part dynamic large objects via the Swift API to Radosgw (version 0.94.6) and stat'ing them to show their etags:

$ swift upload con0 file-4G -S 1073741824
file-4G segment 2
file-4G segment 1
file-4G segment 3
file-4G segment 0
file-4G

$ swift stat con0 file-4G
       Account: v1
     Container: con0
        Object: file-4G
  Content Type: binary/octet-stream
Content Length: 4294967296
 Last Modified: Tue, 26 Jul 2016 22:17:09 GMT
          ETag: d41d8cd98f00b204e9800998ecf8427e
      Manifest: con0_segments/file-4G/1468452726.114766/4294967296/1073741824/
    Meta Mtime: 1468452726.114766
 Accept-Ranges: bytes
        Server: Apache/2.4.7 (Ubuntu)
   X-Timestamp: 1469571429.00000
    X-Trans-Id: tx000000000000000000531-005797e19d-31f82aa-default

$ swift upload con0 file-2G -S 1073741824
file-2G segment 0
file-2G segment 1
file-2G

$ swift stat con0 file-2G
       Account: v1
     Container: con0
        Object: file-2G
  Content Type: binary/octet-stream
Content Length: 2147483648
 Last Modified: Tue, 26 Jul 2016 22:20:11 GMT
          ETag: d41d8cd98f00b204e9800998ecf8427e
      Manifest: con0_segments/file-2G/1468452660.036440/2147483648/1073741824/
    Meta Mtime: 1468452660.036440
 Accept-Ranges: bytes
        Server: Apache/2.4.7 (Ubuntu)
   X-Timestamp: 1469571611.00000
    X-Trans-Id: tx000000000000000000539-005797e222-31f82aa-default

Note the etags are the same. In fact it is clear that is actually the md5 of the (trival) manifest content:

$ cat /dev/null > x
$ ls -l x
-rw-rw-r-- 1 markir markir 0 Jul 26 17:31 x
$ md5sum x
d41d8cd98f00b204e9800998ecf8427e  x

I believe the etag should be computed from the concatination of the segment etags.

No data to display

Actions

Also available in: Atom PDF