Remove DropGraves() #1493
No reviewers
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
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#1493
Loading…
Reference in a new issue
No description provided.
Delete branch "fyrchik/frostfs-node:metabase-put"
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?
DropGraves() is always called after we have inhumed tombstones.
It iterates over the same set of object IDs and the possibility of inconsistenty (Inhume() was called, then we crash).
Merge both methods into a single one, atomically remove a tombstone.
f948e5c4ad
to5c58c60362
@ -289,0 +288,4 @@
var res InhumeRes
err := db.boltDB.Batch(func(tx *bbolt.Tx) error {
res = InhumeRes{inhumedByCnrID: make(map[cid.ID]ObjectCounters)}
Do we need to allocate it here once we don't want to return it?
We need to initialize it here, because the function in
Batch
may be executed multiple times.Oh, wait, it should be returned, the result is used in the caller.
fixed
extended the test to check the return value
5c58c60362
to11366f56b6
Remove DropGraves()to WIP: Remove DropGraves()11366f56b6
toa35d21731a
a35d21731a
toc4e40862e2
WIP: Remove DropGraves()to Remove DropGraves()WIP: Remove DropGraves()to Remove DropGraves()c4e40862e2
tob74189f7dc
b74189f7dc
todf97011a5a