leofs icon indicating copy to clipboard operation
leofs copied to clipboard

List Multipart Uploads (S3-API) Support

Open yosukehara opened this issue 11 years ago • 5 comments

"This operation lists in-progress multipart uploads. An in-progress multipart upload is a multipart upload that has been initiated, using the Initiate Multipart Upload request, but has not yet been completed or aborted."

yosukehara avatar Feb 26 '14 01:02 yosukehara

Since LeoFS doesn't have enough information to realize this feature, We don't.

As a site note, List Parts which enable to list the parts that have been uploaded for a specific multipart upload are feasible on LeoFS.

mocchira avatar Mar 18 '14 04:03 mocchira

Thank you for your survey. I reopened this issue because we need to implement it with v1.x in order to improve the compatibility of S3-API.

yosukehara avatar Mar 18 '14 23:03 yosukehara

boto the s3 client for python have used this API to retrieve the all parts uploaded into LeoFS.

mocchira avatar Jan 15 '15 07:01 mocchira

I've copied Wilson's comment as below:

Issue

leo_gateway does not respond to List Multipart Uploads which reports on-going multipart upload in the server http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadListMPUpload.html

Outcome

boto (S3 Client in Python) cannot complete multipart upload as it would check if the corresponding multipart upload exists in the server

Comment

Among the clients tested, it is the only one doing such check in multipart upload ...

Test & Traceback

Test with leo-project/leofs_client_tests/boto/leo.py

Traceback (most recent call last):
  File "leo.py", line 82, in <module>
    multi_part.complete_upload()
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/multipart.py", line 317, in complete_upload
    xml = self.to_xml()
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/multipart.py", line 156, in to_xml
    for part in self:
  File "/usr/local/lib/python2.7/dist-packages/boto/s3/multipart.py", line 122, in part_lister
    for part in parts:
TypeError: 'NoneType' object is not iterable

yosukehara avatar Jun 18 '15 00:06 yosukehara

To clarify, boto uses List Parts to find out parts being uploaded to server http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadListParts.html

I closed the duplicate entry and would continue the discussion here while I am working on the issue

windkit avatar Jun 18 '15 01:06 windkit