Project

General

Profile

Bug #12780

rgw: segments are read during HEAD on Swift DLO

Added by Radoslaw Zarzynski about 3 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
08/25/2015
Due date:
% Done:

0%

Source:
Development
Tags:
Backport:
hammer
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

$ curl -i "$publicURL/Disc Images2/HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO" -X HEAD -H "X-Auth-Token: $token"

HTTP/1.1 200
Server: nginx/1.4.6 (Ubuntu)
Date: Tue, 25 Aug 2015 13:00:48 GMT
Content-Length: 16
Connection: keep-alive
Accept-Ranges: bytes
Last-Modified: Tue, 25 Aug 2015 11:36:15 GMT
etag: 822ddd31952e982f01217843b35e4378
X-Object-Manifest: Disc Images2_segments/HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/

In radosgw's output we may see:

2015-08-25 15:00:48.913861 7f7f4cf81700 1 ====== starting new request req=0x7f7f9c00f6a0 =====
...
2015-08-25 15:00:48.967230 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000000 ofs=0 end=2
...
2015-08-25 15:00:48.969922 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000001 ofs=0 end=2
...
2015-08-25 15:00:48.972282 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000002 ofs=0 end=2
...
2015-08-25 15:00:48.975095 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000003 ofs=0 end=2
...
2015-08-25 15:00:48.978044 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000004 ofs=0 end=2
...
2015-08-25 15:00:48.981279 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000005 ofs=0 end=2
...
2015-08-25 15:00:48.984271 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000006 ofs=0 end=2
...
2015-08-25 15:00:48.990906 7f7f4cf81700 20 reading obj=Disc Images2_segments:HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO/1439995506.197590/16/2/00000007 ofs=0 end=2
...
2015-08-25 15:00:48.994803 7f7f4cf81700 2 req 1:0.080942:swift:HEAD /swift/v1/Disc Images2/HP Pavilion dv7-6c95dx Recovery Disc (1 of 3).ISO:get_obj:http status=200
2015-08-25 15:00:48.994859 7f7f4cf81700 1 ====== req done req=0x7f7f9c00f6a0 http_status=200 ======

Reading all DLO's segments isn't necessary to calculate Content-Length. Total size is known much earlier: https://github.com/ceph/ceph/blob/master/src/rgw/rgw_op.cc#L851.


Related issues

Copied to rgw - Backport #13228: rgw: segments are read during HEAD on Swift DLO Resolved 08/25/2015

Associated revisions

Revision 4a8b08d1 (diff)
Added by Yehuda Sadeh about 3 years ago

rgw: don't read actual data on user manifest HEAD

Fixes: #12780
We unconditionally read all the data, which is not needed
when doing HEAD operation on user manifest objects.

Signed-off-by: Yehuda Sadeh <>
Signed-off-by: Radoslaw Zarzynski <>

Revision 9ab9c445 (diff)
Added by Yehuda Sadeh about 3 years ago

rgw: don't read actual data on user manifest HEAD

Fixes: #12780
We unconditionally read all the data, which is not needed
when doing HEAD operation on user manifest objects.

Signed-off-by: Yehuda Sadeh <>
Signed-off-by: Radoslaw Zarzynski <>
(cherry picked from commit 4a8b08d1dd2511e28e999f1625103fb919fb5465)

History

#1 Updated by Yehuda Sadeh about 3 years ago

  • Assignee set to Radoslaw Zarzynski

#2 Updated by Yehuda Sadeh about 3 years ago

  • Status changed from New to Pending Backport
  • Backport set to hammer

#4 Updated by Loic Dachary about 3 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF