nspcc-dev / nspcc-dev/neofs-node
Support EC+REP policies
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.
with #3570, EC policies became available, but mutually exclusive w/ REP ones. It can make sense to support container policies having both EC and REP encoding/placement rules
Describe the solution you'd like
Now
drop IR condition
mostly, code is already ok to work w/ both lists. But not everywhere. Two definite places i know are
https://github.com/nspcc-dev/neofs-node/blob/186972553e2dbdbe8924b9e47d718d8318511f2c/pkg/services/object/put/distributed.go#L174-L198
for analysis, look for https://pkg.go.dev/github.com/nspcc-dev/neofs-sdk-go/netmap#NetMap.ContainerNodes calls
Then
explore possible optimizations for rules' processing. For example, handling GET is likely more efficient via REP rules initially
Additional context
#526
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 with pkg/services/object/put/distributed.go and pkg/services/policer/check.go, then search for NetMap.ContainerNodes calls in the repository. Trace the policy handling around the linked lines and determine where EC and REP lists are assumed to be mutually exclusive. Done means container policies can support both encoding and placement rules, with any relevant processing behavior verified.
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
- 35/100