Skip to content

mmpu commit could make zero-byte commits more obvious to users #338

@jordanhendricks

Description

@jordanhendricks

A frequent mistake new users of mmpu make is not specifying part etags when committing the object:

# create a multipart upload and upload some parts
$ mmpu create ~~/stor/my-obj.txt
bde8ee50-dcdb-6d09-a2e8-afcfcee440d3
$ mmpu upload bde8ee50-dcdb-6d09-a2e8-afcfcee440d3 0 -f part1.txt
5354ee1e-0f37-4840-dc60-bfabc5e1f8f9
$ mmpu upload bde8ee50-dcdb-6d09-a2e8-afcfcee440d3 1 -f part2.txt
d44c62a7-256a-c351-957f-d5741b25e80c

# try to commit the object (but this commits an empty object)
$ mmpu commit bde8ee50-dcdb-6d09-a2e8-afcfcee440d3

# "Where's my object?"
$ mget ~~/stor/my-obj.txt
$

The MPU API requires part etags because parts are normal Manta objects and can thus be overwritten. Specifying the etag ensures the client is committing the correct object. To mirror the API, the mmpu CLI requires the etags the user wants to commit.

Using the CLI is well-documented (in both the mmpu commit help message and the mmpu man page). Still, given that so many users expect mmpu commit to commit parts they've uploaded without the additional etag specification step, it would be good to improve the usability of this command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions