You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Marton Elek (Jira)" <ji...@apache.org> on 2020/09/07 11:05:00 UTC

[jira] [Resolved] (HDDS-4193) Range used by S3 MultipartUpload copy-from-source should be inclusive

     [ https://issues.apache.org/jira/browse/HDDS-4193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marton Elek resolved HDDS-4193.
-------------------------------
    Fix Version/s: 1.0.1
       Resolution: Fixed

> Range used by S3 MultipartUpload copy-from-source should be inclusive
> ---------------------------------------------------------------------
>
>                 Key: HDDS-4193
>                 URL: https://issues.apache.org/jira/browse/HDDS-4193
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>            Reporter: Marton Elek
>            Assignee: Marton Elek
>            Priority: Blocker
>              Labels: pull-request-available
>             Fix For: 1.0.1
>
>
> S3 API provides a feature to copy a specific range from an existing key.
> Based on the documentation, this range definitions is inclusive:
> https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html
> {quote}
> -copy-source-range (string)
>     The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first 10 bytes of the source. You can copy a range only if the source object is greater than 5 MB.
> {quote}
> But as it's visible from our [robot test|http://example.com], in our case we use exclusive range:
> {code}
> upload-part-copy ... --copy-source-range bytes=0-10485758
> upload-part-copy ... --copy-source-range bytes=10485758-10485760
> {code}
> Based on this AWS documentation it will return with a (10485758 + 1) + 3 bytes long key,  which is impossible if our original source key is just 10485760.
> I think the right usage to get the original key is the following:
> {code}
> upload-part-copy ... --copy-source-range bytes=0-10485757
> upload-part-copy ... --copy-source-range bytes=10485758-10485759
> {code}
> (Note, this bug is found with the script in HDDS-4194, which showed that AWS S3 is working in different way).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org