Skip to content

allow specifying which parts to commit in CommitUpload for multipart uploads #183

@amwolff

Description

@amwolff

An example S3-compatible multipart upload workflow is like the following:

(using libuplink's nomenclature)

  1. the user BeginUploads
  2. the file gets uploaded in parts (1 to 4) via UploadPart
  3. the file changes before the user commits the upload
  4. they identify changed parts (2 and 3) and UploadPart them again (5 and 6)
    a. they don't overwrite the previously uploaded parts
  5. after that's done, the user would like to CommitUpload with a selection of parts (1, 4, 5, 6)

(5) is where the problem is. CommitUpload only allows committing all uploaded parts, so if the user decides to CommitUpload, the committed object will be composed of parts 1 to 6, which will be a data corruption from the user's perspective.

I think this would be possible through the current public API. For example, we could have an option switch that is a list of parts from which the backend will compose the object, and the default would be to (current behavior) compose the object of all uploaded parts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Up Next

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions