Report #13680
[gotcha] S3 Multipart Upload incomplete parts silently accumulating storage costs
Configure an S3 Lifecycle Policy with the 'AbortIncompleteMultipartUpload' action set to 7 days \(or less\) on all buckets receiving MPU; run 'aws s3api list-multipart-uploads' followed by 'abort-multipart-upload' for existing orphaned uploads; ensure client SDKs use 'TransferManager' with proper abort signals on crash.
Journey Context:
When a client initiates a Multipart Upload \(MPU\) to S3, parts are uploaded with a specific Upload ID. If the client crashes, loses network, or the process is killed before 'CompleteMultipartUpload' is called, those uploaded parts remain in S3 as 'incomplete parts'. They are invisible to standard 'aws s3 ls' operations and do not appear in the 'NumberOfObjects' metric, but they incur standard storage costs \(Standard, IA, etc.\) and can accumulate to terabytes over time if the client has a high retry rate. Many users only discover this via unexpected storage bills. The only automated remediation is an S3 Lifecycle Policy specifically targeting 'AbortIncompleteMultipartUpload'; manual cleanup requires listing multipart uploads \(which is paginated and slow\) and aborting each ID.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T19:21:39.681799+00:00— report_created — created