WIP: netmap: remove dead nodes automatically #31
No reviewers
TrueCloudLab/storage-core-committers
TrueCloudLab/storage-core-developers
TrueCloudLab/storage-services-committers
TrueCloudLab/storage-services-developers
Labels
No labels
P0
P1
P2
P3
good first issue
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-contract#31
Loading…
Reference in a new issue
No description provided.
Delete branch "fyrchik/frostfs-contract:fix-netmap-cleaner"
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?
Relying on IR works, but introduces delays and uncertainty (not to mention network and computational resources for the IR).
Removing nodes in the contract can be done with a 100% probability.
If
CleanupDepth
config parameter is less than zero or as missing, no node is removed (this is done becauseCleanupDepth=0
is a valid value, it means remove node in the next epoch).The only drawback I see now is that forcing epoch tick multiple times in a quick succession can lead to unintentional (and to some degree uncontrollable) node disappearing from the netmap.
WIP: remove dead nodes automaticallyto remove dead nodes automaticallyThis is ready for review, but not ready for merge, thus WIP.
remove dead nodes automaticallyto WIP: netmap: remove dead nodes automatically@ -520,0 +547,4 @@
// Sanity check:
// Cleanup depth = 3 means that we are allowed to exist for 3 epochs without bootstrap.
// Let last seen epoch be 7 (the node sent bootstrap and appeared in the netmap for 8 epoch).
// The condition is true if newEpoch = 8, 9, 10, 11, so epochs 9-11 are spent without bootstrap.
Spent some time to verify, but it looks correct to me.
@ -520,1 +554,4 @@
}
}
removeFromNetmap(ctx, pub)
Can you elaborate why it is required to remove pub key now? Cleanup depth affects
append
operation as expected, so it is a bit unexpected.Pull request closed