nspcc-dev / nspcc-dev/neofs-node
`GET` object optimization over the placement vectors
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38
- Forks
- 51
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 38
Description
this is an interesting topic at the intersection of different dimensions
let's try to base the behavior on writing and reading on the same basis. I expect both ops to iterate over same sequence of nodes (unless reading actually ends after the 1st success)
may be current implementation of SuccessAfter is not the most efficient one. If placement vector is
N1 [N2, N3]
N4 [N5]
then object is most likely on N4 than N2-3. Currently, we'll go over N1, N2, ...
in total, could we completely replace SuccessAfter with introduced WithCopiesNumber one for read ops? i guess so
Originally posted by @cthulhu-rider in https://github.com/nspcc-dev/neofs-node/pull/2607#discussion_r1343918367
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 the discussion in pull request 2607 and inspect the current SuccessAfter and WithCopiesNumber implementations. Compare the node sequence used by GET with the placement vectors and determine whether replacing SuccessAfter for reads preserves the expected early-success behavior; done means the read traversal follows the intended ordering and relevant behavior is covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100