Actions
Bug #16822
openSwift API - DLO etag is computed from manifest rather than from etags of segments
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