-
Notifications
You must be signed in to change notification settings - Fork 50
Closed
Labels
I3Minimal impactMinimal impactS3Minimally significantMinimally significantU2Seriously plannedSeriously plannedenhancementImproving existing functionalityImproving existing functionalityneofs-storageStorage node application issuesStorage node application issues
Milestone
Description
Is your feature request related to a problem? Please describe.
I'm always frustrated when I'm thinking of how expired objects are handled (and even more frustrated when I'm fixing thing as in #3511):
- expired objects are just another sort of garbage
- there can be 1M or more objects expired in an epoch
- marking them as garbage separately from deletion just adds useless pressure to metabase
Describe the solution you'd like
- Move their handling from epoch event handler to regular GC cycle. Epoch event just sets some known epoch and that's it.
- Grab a number of them (same limit as in GC) when doing regular GC cycle.
- Handle them as usual, if we find that some object shouldn't be deleted (a lock is stored on the other shard), copy this lock to current shard.
Describe alternatives you've considered
No alternatives.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
I3Minimal impactMinimal impactS3Minimally significantMinimally significantU2Seriously plannedSeriously plannedenhancementImproving existing functionalityImproving existing functionalityneofs-storageStorage node application issuesStorage node application issues