Remove storage groups to rework audit mechanism #19
Labels
No labels
P0
P1
P2
P3
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-api#19
Loading…
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?
This is an issue from the series of incompatible protocol changes. The purpose of these changes is to rework some FrostFS protocol mechanisms which were non-demanding for the users in private and public networks or they provide unnecessary complexity in the protocol and its implementation.
Is your feature request related to a problem? Please describe.
Storage groups are the objects that contain list of the objects and homomorphic hash of objects payload. This object is used for a part of data audit to prove if data is stored in the network correctly. Based on the audit result, storage nodes receive should receive a reward. Unfortunately this is mechanism didn't work in both public and private networks.
Private installations don't use incentive part of the FrostFS protocol. Current implement of TZHash was a bit slow for heavy data flows.
Public installations didn't adopt storage group mechanism either. Storage groups had to be created manually and didn't provide any additional guarantees for object safity. As for storage node, we had to implement basic income settlements, which basically become the only incentive mechanism.
While TZHash implementation can be improved, and overall audit scheme for separate objects is smart and effective, storage groups are not used in any case and safely can be dropped from the protocol.
Describe the solution you'd like
Additional context
Follow ups:
Considering v2.15 release, I think it makes sense to go for v3 with those incompatible changes.
v3.0 can be compatible with v2.15 for some time, but then v3.1+ should introduce new things, e.g. new audit mechanism, which will be incompatible with v2.15.
Closed via #32