Support automatic abortion s3 multipartUpload after a timeout.
See original GitHub issueIf a MultipartUpload
request fails and the MultipartUpload
request is not aborted, directory xxx_s3_multipart_tmp
will be preserved, and future MultipartUpload
requests will always error.
Describe the solution you’d like
-
Create a callable instance when a
MultipartUpload
request received which used to abort thisMultipartUpload
. Callable instance contains:- upload file name (
xxx
) - uploadId
- last_update_time (
xxx_s3_multipart_tmp
modify time orxxx
modify time)
- upload file name (
-
Create a
ScheduledExecutorService
instance used to schedule auto abortMultipartUpload
callable instance.- last_update_time + timeout = delay
-
When execute auto abort func:
- check
xxx_s3_multipart_tmp
if exist - check
xxx_s3_multipart_tmp
dir id if equalsuploadId
- check if
xxx_s3_multipart_tmp
modify time changed - check
xxx
if exist and ifxxx
modify time changed
- check
May caused problem
- Upload object part or finish
MultipartUpload
request may be distributed to different proxies, how to coordinate different proxies? Leader to do this?
Urgency
Normal
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:13 (13 by maintainers)
Top Results From Across the Web
Does AWS S3 automatically abort multipart uploads after a ...
No. From the doc page you linked, "Once you initiate a multipart upload, Amazon S3 retains all the parts until you either complete...
Read more >abort-multipart-upload — AWS CLI 1.27.28 Command ...
This action aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID.
Read more >abort-multipart-upload — AWS CLI 2.9.5 Command Reference
This action aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID.
Read more >MultipartUploadCleaner (Alluxio Parent 2.9.1-SNAPSHOT API)
A lazy method (not scan the whole fileSystem to find tmp directory) to support automatic abortion s3 multipartUpload after a timeout.
Read more >S3 multipart upload timeout policy · Issue #1704 - GitHub
I've received 3 different error messages during several tries, the following being one of them: Error { RequestTimeout: Your socket connection ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
yes, we do need to make code changes – in fact there is a TODO in the code for it left by the original author of the S3 handler
I agree to explain how we implement it in the document, and the consistency problem should be guaranteed by the client.