Interrupted PUT leave temporary files and stale metadata #469
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#469
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
When a PUT (either
PutObject
orUploadPart
) fails before all related blocks are written to disk, theObject
is never created, while some stale data and metadata remains:.tmp
files not renamed to.zst
even when properly uploaded and written, if request is interrupted while data is flushed to disk and before the file is renamed;Block
entries, not related to anyObjectVersion
;ObjectVersion
inuploading
state (some are normal unfinished multipart uploads, some are failed PUT requests).Two following commits were pushed to fix most of these issues:
0650a43cf1
936b6cb563
After running the dev build for 3 days, no new stale meta or temporary files remain, so maybe this issue can be closed immediately, I mostly wrote it to keep track of the failure case.
In case you have reamining errorred blocks:
.zst
,(Or just drop and reupload them all if you can affort it).
I think this has been fixed by the two commits you mentionned, so I'm closing this issue. Feel free to re-open if the bug still appears.