Actions
Bug #15812
closedNo Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifest
% Done:
0%
Source:
Community (user)
Tags:
Backport:
jewel,hammer
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
I use Ceph v0.80.9 Firefly as a part of Mirantis OpenStack installation (as Swift backend).
Customer claimed, that if there are no segments in DLO manifest, then when doing HEAD query to manifest, there would be no Last-Modified
, Content-Size
and X-Object-Manifest
headers in response:
15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "HEAD /swift/v1/dummy/myobject HTTP/1.1[\r][\n]" 15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Accept: application/json; charset=utf-8[\r][\n]" 15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "X-Auth-Token: 123456789changed123456789changed[\r][\n]" 15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Host: example.net:8080[\r][\n]" 15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Connection: Keep-Alive[\r][\n]" 15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "User-Agent: OpenStack4j-Agent[\r][\n]" 15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "Accept-Encoding: gzip,deflate[\r][\n]" 15:26:41.478 [main] DEBUG org.apache.http.wire - http-outgoing-1 >> "[\r][\n]" 15:26:41.517 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "HTTP/1.1 200 OK[\r][\n]" 15:26:41.517 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "Date: Fri, 06 May 2016 12:26:41 GMT[\r][\n]" 15:26:41.517 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "Server: Apache[\r][\n]" 15:26:41.517 [main] DEBUG org.apache.http.wire - http-outgoing-1 << "[\r][\n]"
Steps to reproduce:
- create container (e.g.
dummy
) - create pseudo-folder (e.g.
data
) - retrive auth token
- create DLO manifest (e.g.
myobject
):$ curl -X PUT -H 'X-Auth-Token: 123456789changed123456789changed' -H 'X-Object-Manifest: dummy/data/' https://example.net:8080/swift/v1/dummy/myobject --data-binary ''
Known workaround: if add even one (or more) segment to the manifest, this problem won't reproduce (headers would be where they are supposed to be).
Actions