AWSS3TransferUtility does not capture errors received from S3 and pass them back to the caller in a useable manner.
AWSS3TransferUtility ignores all responses from S3 when doing uploads.
AWSS3TransferUtility does not log any errors received from S3.
I have addressed these issues in a Pull Request (https://github.com/aws/aws-sdk-ios/pull/666) that I originally created on May 4, but that request has not been reviewed/merged. I am creating this issue to try to increase visibility to the PR and hopefully get it reviewed and merged.
It seems we are facing a similar issue.
A comprehensive investigation showed that poor network conditions leads to the following problem:
The upload of a file (more precisely a picture from 100 KB to 1MB) apparently completes without an error, but the supposedly uploaded file is in fact absent from the S3 bucket.
However nothing indicates that the upload actually failed.
My config. :
AWSS3TransferUtility2.3.6AWSS3TransferUtility class to upload several files of ~ 500KB@k4ety's PR (https://github.com/aws/aws-sdk-ios/pull/666) may fix this issue (I have not tried, though).
Another question is about the reason for the failure of the upload. By using AWSS3TransferUtilityUploadProgressBlock, we observe that the upload seems to complete successfully in terms of bytes sent, but as said earlier the file cannot be found in the bucket. We thought about a timeout-related issue (cf. https://github.com/aws/aws-sdk-js/issues/683), but could not be definitive about it for now.
Any insight would be greatly appreciated :)
Hi @k4ety and @DemisB, Thanks for reporting to us. We are looking into the PR #666. I have two entered comments on the review.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Up
I have exacly the same issue but with downloading images ~500 KB.
Hi @kvasukib @cbommas , we're still facing this issue where transferUtility never returns an error. For e.g., if network is gone, the SDK method seems to wait for an indefinite time and never really returns any error. It resumes the task once the network is restored. We're using the iOS SDK - S3 pods version 2.6.35.
@pothunoorisk Please update your SDK to the latest version (the latest is 2.9.9), and if you are still seeing problems, open a new issue.
Hi @palpatim , we are still facing this problem even after updating SDK to v2.9.9. This problem is more likely for bad / no network scenarios. I saw one related thread which is still open. Do we have any solution?
Most helpful comment
It seems we are facing a similar issue.
A comprehensive investigation showed that poor network conditions leads to the following problem:
The upload of a file (more precisely a picture from 100 KB to 1MB) apparently completes without an error, but the supposedly uploaded file is in fact absent from the S3 bucket.
However nothing indicates that the upload actually failed.
My config. :
AWSS3TransferUtility2.3.6AWSS3TransferUtilityclass to upload several files of ~ 500KB@k4ety's PR (https://github.com/aws/aws-sdk-ios/pull/666) may fix this issue (I have not tried, though).
Another question is about the reason for the failure of the upload. By using
AWSS3TransferUtilityUploadProgressBlock, we observe that the upload seems to complete successfully in terms of bytes sent, but as said earlier the file cannot be found in the bucket. We thought about a timeout-related issue (cf. https://github.com/aws/aws-sdk-js/issues/683), but could not be definitive about it for now.Any insight would be greatly appreciated :)