nspcc-dev / nspcc-dev/neofs-node
rpc error: context deadline exceeded if timeout is default (15s)
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38
- Forks
- 51
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 38
Description
Expected Behavior
"neofs-cli object put" shouldn't fail if one of the nodes is not responding while there are others helthy nodes to store the object.
Current Behavior
neofs-cli object put
rpc error: client failure: context deadline exceeded
Possible Solution
increase default timeot to 30s
Steps to Reproduce (for bugs)
- create container with policy REP 3 SELECT 4 so that if one of the nodes hangs, there are 3 nodes to comply with the REP 3 policy
- node1: suspend neofs-node: kill -STOP
pidof neofs-node - node2: try to put objects to the contaner using default timeout : error
- node2: try to put objects to the contaner using timeout=30s: ok
Your Environment
root@az:/home/service# neofs-node -version
NeoFS Storage node
Version: v0.32.0-125-gbcf3df35
GoVersion: go1.18.4
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
Begin at the neofs-cli object put entry point and trace how the default timeout is applied to RPC calls. Reproduce the issue with REP 3 SELECT 4 and one suspended node, comparing the default timeout with 30 seconds. Done means object upload succeeds with healthy replica nodes when one node is unresponsive.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100