Conversation
|
Memo: AWS S3 respond whole resource when multiple ranges are requested. cf: RFC 2616 says "A server MAY ignore Range header".
s3curl command outputs for single range and two ranges are as follows. single range (bytes=4-8)
two ranges (bytes=1-3,5-8)
|
There was a problem hiding this comment.
Shouldn't this also use known_length_stream instead of stream? We don't know how many CS blocks the requested range will span.
|
Verified that single range requests succeed using this branch and the related |
|
@kellymclaughlin Thank you very much for review and confirmation. I pushed changes according to your review comment. Related change in Webmachine: And one bug fix to mochiweb: |
There was a problem hiding this comment.
Just be sure to set this to point to master prior to merging.
|
Rebased on master 3627d0c and force pushed, in order to incorporate MP bug fix. Now it's possible to GET Range for objects those uploaded by multipart upload. |
|
+1 to merge |
For multiple ranges, e.g. Range: bytes=100-200,300-400, S3 ignores the header and respond whole resouce.
Add support of HTTP GET "Range" header * Respond normal (non-range) resource for multiple range requests * Respond with 416 for invalid range requests
|
Merged after rebase |
We aren't supporting the HTTP "Range" header, e.g.
To duplicate via s3cmd:
s3://buck/foo-objectecho bar > foo-objects3cmd get --continue s3://buck/foo-objectThe output is:
And the error from the CS node is:
Required PRs
Implementation TODOs: