nspcc-dev / nspcc-dev/neofs-node

GC objects in metadata chain based on height (epoch)

Open
#3,976 1 comment 0 reactions 1 assignee View on GitHub

@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

  1. Extend indices with expiration epoch (if any) from https://github.com/nspcc-dev/neofs-node/pull/3759
  2. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.