Project

General

Profile

Actions

Bug #15812

closed

No Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifest

Added by Antonio Kless almost 8 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
% 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).


Related issues 2 (0 open2 closed)

Copied to rgw - Backport #15965: jewel: No Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifestResolvedAbhishek VarshneyActions
Copied to rgw - Backport #15966: hammer: No Last-Modified, Content-Size and X-Object-Manifest headers if no segments in DLO manifestResolvedNathan CutlerActions
Actions

Also available in: Atom PDF