Skip to content

configuring root_host seems to have no effect for multi-part uploads [JIRA: RCS-318] #1288

@sedninja

Description

@sedninja

I am receiving invalid Location properties for objects uploaded using MultiPart upload functionality. My riak-cs.conf file contains the following configuration option

root_host = obs2.exampledomain.com

However, when I complete a multi-part upload, I receive an xml document with 4 values:

<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Location>$bucket_name.s3.amazonaws.com</Location>
  <Key>$file_name</Key>
  <Bucket>$bucket_name</Bucket>
  <Etag>"$etag"</Etag>
</CompleteMultipartUploadResult>

This appears to be due to how the object is created in src/riak_cs_wm_object_upload_part.erl on line 127.

                    XmlDoc = {'CompleteMultipartUploadResult',
                              [{'xmlns', "http://s3.amazonaws.com/doc/2006-03-01/"}],
                              [
                               %% TODO: use cs_root from app.config
                               {'Location', [lists:append(["http://", binary_to_list(Bucket), ".s3.amazonaws.com/", Key])]},
                               {'Bucket', [Bucket]},
                               {'Key', [Key]},
                               {'ETag', [ETag]}
                              ]
                             },

It looks like this issue has been present for a while based on the comment added in 2014. I have no experience with erlang, but I can see about updating the code to use the expected root_host if you want. Otherwise, do you have a timeline on when this might be corrected? It's no impacting me at this time, but it may affect users of the system if they rely on the "Location" that is returned after a multi-part upload.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions