Put object should fail when tombstone exists for OID #1512
Labels
No labels
P0
P1
P2
P3
badger
frostfs-adm
frostfs-cli
frostfs-ir
frostfs-lens
frostfs-node
good first issue
triage
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#1512
Loading…
Add table
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?
Expected Behavior
After object was deleted while tombstone still exists PUT to the deleted oid should be consistent with subsequent GET/HEAD:
Current Behavior
(*ResObjectPutSingle).Status()
or inerror
code = 2052 message = object already removed
Steps to Reproduce (for bugs)
Currently step 3 succeeds and step 4 fails. They should either both succeed or both fail.
Context
I was trying to save the same object I've recently deleted. For that object to become readable I had to:
object.delete.tombstone_lifetime
epochs before saving the object for the second time,Discussion in private chat.
Regression
No.
Your Environment
uname -a
): Debian 12We give no guarantees on that the OID will match, e.g.
creationEpoch
field can differ.Not to dismiss the issue, but rather to point that reproduction is a bit more tricky.
Storing an object with the same OID as the one referenced by tombstone is the whole point of this issue. That's why I highlighted it in "Steps to Reproduce" - only matching OIDs will trigger the bug.
PutSingle
with OID that was already removed #1579