nspcc-dev / nspcc-dev/neofs-node
GC objects in metadata chain based on height (epoch)
Open
@carpawell is already working on this.
Since May 5, 2026.
enhancement
I4
neofs-storage
S3
U2
- Dominant language
- Go
- Stars
- 38
- Forks
- 51
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 38
Description
Is your feature request related to a problem? Please describe.
We need to GC LOCK, TS, and REGULAR objects with expiration set. neo-go has a GC mechanism that is run every block approval; this should be reused, it should not be a separate chain call.
Describe the solution you'd like
- Extend indices with expiration epoch (if any) from https://github.com/nspcc-dev/neofs-node/pull/3759
- Adapt neo-go's expiration mechanism and drop object metadata based on this index (likely in batches, not more than N records in DB)
Describe alternatives you've considered
Separate routine triggered externally.
Additional context
https://github.com/nspcc-dev/neofs-node/pull/3759#discussion_r2774809683, smth should GC objects anyway.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.