WIP: netmap: remove dead nodes automatically #31

Closed
fyrchik wants to merge 3 commits from fyrchik/frostfs-contract:fix-netmap-cleaner into master
Owner

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 because CleanupDepth=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.

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 because `CleanupDepth=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.
fyrchik added 3 commits 2023-06-20 13:44:53 +00:00
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
fyrchik requested review from storage-core-committers 2023-06-20 13:44:59 +00:00
fyrchik requested review from storage-core-developers 2023-06-20 13:45:04 +00:00
fyrchik requested review from storage-services-committers 2023-06-20 13:45:09 +00:00
fyrchik requested review from storage-services-developers 2023-06-20 13:45:09 +00:00
fyrchik changed title from WIP: remove dead nodes automatically to remove dead nodes automatically 2023-06-20 13:54:35 +00:00
Author
Owner

This is ready for review, but not ready for merge, thus WIP.

This is ready for review, but not ready for merge, thus WIP.
fyrchik changed title from remove dead nodes automatically to WIP: netmap: remove dead nodes automatically 2023-06-20 13:55:00 +00:00
alexvanin reviewed 2023-10-03 08:48:20 +00:00
@ -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.
Owner

Spent some time to verify, but it looks correct to me.

Spent some time to verify, but it looks correct to me.
@ -520,1 +554,4 @@
}
}
removeFromNetmap(ctx, pub)
Owner

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.

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.
fyrchik closed this pull request 2024-04-09 11:58:06 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
TrueCloudLab/storage-core-committers
TrueCloudLab/storage-core-developers
TrueCloudLab/storage-services-committers
TrueCloudLab/storage-services-developers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-contract#31
No description provided.