aws-amplify/aws-sdk-ios

Resume from the breakpoint when upload failed with TransferUtilityMultiPartUpload

Closed this issue · 5 comments

Hi, I am using TransferUtilityMultiPartUpload to upload large video.

And my question is if there have any way, to resume upload from the breakpoint when the upload faild.

I try use the resume(), but I find the callback will show the task is failed imdientily.

Hi @zhongruiBlink Thanks for submitting the issue! One of our team members will investigate and provide updates here.

Hi @zhongruiBlink! The resume method is meant to be used to restart an upload task that has been paused by explicitly calling the pause method. You cannot call it on failed tasks.

When doing a multipart upload, the TransferUtility attempts to retry failing parts up to the limit configured in TransferUtilityConfiguration, which defaults to 3.

Hi @ruisebas! Thanks for the information.

We're looking for a way to address this issue:

When we start an upload task with 100 chunks, if the upload fails after 50 chunks have been successfully uploaded, we currently have to restart from the first chunk. This means re-uploading those 50 chunks, which takes a lot of time. Is there any way to resume the upload starting from chunk 51?

There is no way to resume an upload from a specific part if the upload task failed.
On failure, the transfer utility calls AbortMultipartUpload so that the server cleans up the temporary parts as well.

If you experience interruptions recurrently, you could try adjusting the AWSS3TransferUtilityConfiguration.retryLimit to a higher value.

This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.