nspcc-dev / nspcc-dev/neofs-node
Support EC recreation from other rules in Policer
Nobody has claimed this yet.
- 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.
currently, Policer can only replenish lost EC parts within single rule
https://github.com/nspcc-dev/neofs-node/blob/c130f149ade1ba90acbaa0d550ed269a2750cfe5/pkg/services/policer/ec.go#L178
if more than parity_part_num parts are unavailable, it considers the reconstruction impossible
each object has multiple partitions with multiple EC rules in the policy. Thus, there are cases when missing parts (even all of them) according to a specific rule can be recreated from another partition
moreover, this will become a normal case with https://github.com/nspcc-dev/neofs-api/issues/352 arrival
Describe the solution you'd like
if there are other rules:
- restore original object from them
- recreate lost parts for the broken rule
- place recreated parts as usual
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.
Research direction
Start in pkg/services/policer/ec.go around the linked reconstruction logic, then trace how the policy's multiple partitions and EC rules are represented. Determine how another rule can restore the original object before recreating the missing parts of the broken rule. Done means lost parts can be recreated from other rules and placed as usual.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100