Project

General

Profile

Actions

Bug #16015

closed

A query on a static large object fails with 404 error

Added by Shilpa MJ almost 8 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
% Done:

0%

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

Description

Split a large file into segments and upload each segment. Create a manifest file for all the segments and upload it. A HEAD on the manifest file fails with "404 Not found" error

1. Split a file of about 1.5G into 3 parts
2. Upload each segment into the same container:
curl -v -X PUT -H "X-Auth-Token:token" -T segmentName accountURL/containerName/objectName
3. Create a manifest file with the object attribute content in json format
4. Now upload the manifest file with the query parameter: ?multipart-manifest=put
curl -v -X PUT -H "X-Auth-Token:token" "accountURL/containerName/StaticLargeFileName?multipart-manifest=put" -T ./manifest.json
5. Do a HEAD on the SLO file

A HEAD or GET on the SLO object fails even though we can list the file in the container:

  1. swift -A http://rgw:8080/auth/1.0 -U testuser:swift -K 'm00APyUFWGcWE4fMxOn6pmaT9OqZcpTvCcTVbbCv' list slo-container
    big.txt
    segment_aa
    segment_ab
    segment_ac
  1. curl -v -X HEAD -H "X-Auth-Token: Axxxxx" -L "http://rgw:8080/swift/v1/slo-container/big.txt"

HEAD /swift/v1/slo-container/big.txt HTTP/1.1
User-Agent: curl/7.29.0
Host: rgw:8080
Accept: */*
X-Auth-Token:

< HTTP/1.1 404 Not Found
< X-Trans-Id: tx00000000000000000001b-00574568b7-102e-default
< Content-Length: 9
< Accept-Ranges: bytes
< Content-Type: text/plain; charset=utf-8
< Date: Wed, 25 May 2016 08:56:23 GMT
<

2016-05-25 08:49:54.777202 7ff4897fa700 0 could not get bucket info for bucket=lo-container
2016-05-25 08:49:54.777212 7ff4897fa700 0 ERROR: failed to handle slo manifest ret=-2
2016-05-25 08:49:54.777291 7ff4897fa700 2 req 23:0.001865:swift:HEAD /swift/v1/slo-container/big.txt:get_obj:completing
2016-05-25 08:49:54.777300 7ff4897fa700 2 req 23:0.001874:swift:HEAD /swift/v1/slo-container/big.txt:get_obj:op status=-2
2016-05-25 08:49:54.777302 7ff4897fa700 2 req 23:0.001876:swift:HEAD /swift/v1/slo-container/big.txt:get_obj:http status=404
2016-05-25 08:49:54.777306 7ff4897fa700 1 ====== req done req=0x7ff4897f4710 op status=-2 http_status=404 ======
2016-05-25 08:49:54.777320 7ff4897fa700 20 process_request() returned -2


Related issues 1 (0 open1 closed)

Copied to rgw - Backport #16085: jewel: A query on a static large object fails with 404 errorResolvedAbhishek VarshneyActions
Actions #1

Updated by Radoslaw Zarzynski almost 8 years ago

  • Status changed from New to In Progress
  • Assignee set to Radoslaw Zarzynski
Actions #2

Updated by Radoslaw Zarzynski almost 8 years ago

Could you please upload/paste the ./manifest.json file?

Actions #3

Updated by Shilpa MJ almost 8 years ago

Sure.

[ {
"path": "slo-container/segment_aa",
"etag": "86350070ca177ff2b5ff6a90db7440ee",
"size_bytes": 524288000
}, {
"path": "slo-container/segment_ab",
"etag": "1c7cf4ccd5338d9479189f508ee5b117",
"size_bytes": 524288000
}, {
"path": "slo-container/segment_ac",
"etag": "6b850a1419e38e8c0dc5aa14679b4893",
"size_bytes": 420478976
}
]

Actions #4

Updated by Radoslaw Zarzynski almost 8 years ago

Replicated the issue. It seems we're always expecting the initial slash in a segment's path. This is consistent with the Swift's documentation, although not with the Swift's behavior.

I'm preparing a fix. It will be available soon. Thanks for pointing this out!

Actions #5

Updated by Radoslaw Zarzynski almost 8 years ago

  • Status changed from In Progress to Fix Under Review
Actions #6

Updated by Radoslaw Zarzynski almost 8 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #7

Updated by Loïc Dachary almost 8 years ago

  • Backport set to jewel
Actions #8

Updated by Loïc Dachary almost 8 years ago

  • Copied to Backport #16085: jewel: A query on a static large object fails with 404 error added
Actions #9

Updated by Loïc Dachary over 7 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF