Handle expiration of storage groups #1225
Labels
neofs-cli
NeoFS CLI application issues
neofs-ir
Inner Ring node application issues
neofs-storage
Storage node application issues
U3
Regular
Milestone
Overview
Storage groups have limited lifetime in NeoFS. All system parts should handle SG expiration: storage nodes shouldn't store expired
STORAGE_GROUP
objects, inner ring nodes should not perform data audit of them.Inner ring
Data audit uses SGSource primitive to get list of storage groups to audit data for. The implementation selects objects from the container. We need to complicate some of the components with the logic which excludes expired storage groups.
I propose to have a component that allows you to select storage groups in a container:
The data auditing component will use this interface to sequentially process storage groups.
Storage node
For these network members, storage group lifetimes are only relevant for garbage collection. Based on the fact that the SG descriptor is embedded in the binary structure of the object, and the expiration mechanism is the same as other types of objects,
STORAGE_GROUP
objects do not require additional logic to be processed byGC
implementation. Within the framework of this task, it is only possible to double-check this fact.NeoFS CLI
User interface should print expiration date in epochs. Seems like it is already implemented
neofs-node/cmd/neofs-cli/modules/storagegroup.go
Line 260 in 14ea7b2
I'd pay attention on the approach of storage group descriptor decoding
neofs-node/cmd/neofs-cli/modules/storagegroup.go
Line 257 in 14ea7b2
Since expiration is written in object attribute it's not enough to decode the object payload. I propose to create a function which links
Object
andStorageGroup
types:May be we also need a way to select alive storage groups only in
storagegroup
command.The text was updated successfully, but these errors were encountered: