local_object_storage: Guarantee graves removal when handling expired tombstones #1481
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
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#1481
Loading…
Reference in a new issue
No description provided.
Delete branch "a-savchuk/frostfs-node:remove-dangling-locks"
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?
#1445
To summarize,
I've described the old and new behavior of GC in #1445. Feel free to ask any questions and argue.
0013294c1b
to93c9ec3256
93c9ec3256
to45cbd497cd
45cbd497cd
to6738de7df7
@ -139,0 +165,4 @@
})
}
func (e *StorageEngine) dropOrphanLocks(ctx context.Context, cnt cid.ID, locks []oid.ID) (locksToKeep []oid.ID) {
Why it is named
drop
when it is used to find IDs?I've changed the solution drastically. Please see the task and PR description for more information
6738de7df7
tobe8b99e3bc
be8b99e3bc
to163c3dba71
163c3dba71
to34df21cc4a
34df21cc4a
toe2a6663ef6
42681223d0
toe2d26cd213
e2d26cd213
to0092a49f8f
0092a49f8f
tode1ef66a21
de1ef66a21
toccdcd67ec3
WIP: policer: Handle oprhan locked bucket and graveyard bucket recordsto WIP: local_object_storage: Guarantee consistency when handling expired tombstones and lock objectsWIP: local_object_storage: Guarantee consistency when handling expired tombstones and lock objectsto local_object_storage: Guarantee consistency when handling expired tombstones and lock objectsccdcd67ec3
to220dc8af30
220dc8af30
to5b43f2a1f0
5b43f2a1f0
to4c73f1be9c
4c73f1be9c
toe12c763de6
local_object_storage: Guarantee consistency when handling expired tombstones and lock objectsto local_object_storage: Guarantee graves removal when handling expired tombstones@ -314,0 +345,4 @@
err := db.boltDB.Batch(func(tx *bbolt.Tx) error {
graveyard := tx.Bucket(graveyardBucketName)
if graveyard == nil {
return errors.New("no graveyard bucket")
To var
@ -42,0 +44,4 @@
return fmt.Errorf("get expiration epoch: %w", err)
}
if !has {
return errors.New("tombstone has no expiration epoch")
To var
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.