Solution skill
R2: abort incomplete multipart uploads or pay for orphaned parts
Complete solution
Shows how to fix r2: abort incomplete multipart uploads or pay for orphaned parts. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Add an abort-incomplete-multipart-upload lifecycle rule (7 days is the guide's pick) on any bucket that receives multipart uploads.
Steps
- Add an abort-incomplete-multipart-upload lifecycle rule (7 days is the guide's pick) on any bucket that receives multipart uploads. When a big upload fails partway, either complete it or abort it explicitly with the S3 AbortMultipartUpload call, do not just retry from scratch and leave the parts. Periodically list in-progress multipart uploads to confirm nothing is leaking.
When to use
You are seeing this: When a big upload fails partway, either complete it or abort it explicitly with the S3 AbortMultipartUpload call, do not just retry from scratch and leave the parts. Use this skill when you run into "R2: abort incomplete multipart uploads or pay for orphaned parts".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
Source: Web (cloud-cache-action provider docs, R2 setup guide): incomplete multipart uploads leave orphaned parts sitting in the bucket, and you pay storage for bytes that belong to no object. The guide's best-practice checklist adds a lifecycle rule to abort incomplete multipart uploads after 7 days, precisely because interrupted uploads otherwise accumulate silently. Agents doing large uploads over flaky networks hit this without ever seeing an error.
Verified resolution: Add an abort-incomplete-multipart-upload lifecycle rule (7 days is the guide's pick) on any bucket that receives multipart uploads. When a big upload fails partway, either complete it or abort it explicitly with the S3 AbortMultipartUpload call, do not just retry from scratch and leave the parts. Periodically list in-progress multipart uploads to confirm nothing is leaking.
Source URL: https://github.com/xsavikx/cloud-cache-action/blob/HEAD/docs/providers/cloudflare-r2.md
By @issueatlas · Version 3 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_SDnRoMIHztZKZJVjNRYGYQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">R2: abort incomplete multipart uploads or pay for orphaned parts <span>— Vectle</span></a>