nspcc-dev / nspcc-dev/neofs-node
Do not try to put to blobstor on full write cache
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.
I'm always frustrated when I'm thinking of write cache and blobstor relations. Currently we always try to put object to blobstor if putting to write cache fails.
Describe the solution you'd like
Don't do that in case write cache is full. If that's the case it's supposed to be flushing to blobstor at the maximum speed possible and additional threads pushing objects to blobstor directly can only slow it down. If it's full because it can't flush objects to blobstor trying this direct put doesn't help either.
Describe alternatives you've considered
Keep things as is. Current behavior is somewhat better for the case when write cache can't put objects to blobstor, but direct put somehow can. I don't see this happening, but who knows.
Additional context
https://github.com/nspcc-dev/neofs-node/pull/3744#discussion_r2635320251
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
No file or test path is provided; start by locating the write-cache put handling and its fallback to blobstor. Trace how a full cache is distinguished from other write failures, then verify that a full cache no longer triggers a direct blobstor put while other fallback behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100