nspcc-dev / nspcc-dev/neofs-node

`neofs-cli` default timeouts for `object put`/`object get`/etc are implicit

Open
#2,393 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion help wanted I3 neofs-cli S4 U3
Dominant language
Go
Stars
38
Forks
51
Avg merge
1d 20h
Merged PRs (30d)
38

Description

After https://github.com/nspcc-dev/neofs-node/pull/2135 a user can see the following (15-sec default timeout that did not exist before):

▶ neofs-cli object put -r s01.neofs.devenv:8080 -w services/chain/node-wallet.json --cid HrG4qXKc3fpvY1dBay4Jy4qtDgGbwEnDtikDUJTegZJi --file tmp/test.file 
Enter password > 
 276824064 / 10000000000 [=======>-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------]   2.77% 12s
rpc error: client failure: rpc error: code = DeadlineExceeded desc = context deadline exceeded

as a user, I would ask some questions:

  1. "rpc error:"? Really? Network error? The node is down?
  2. I have the progress bar, I see how it works and nothing is frozen, I control it and can send SIGINT if I want to. Why 15-sec timeout is forced? "Any object should be put in 15 seconds" is smth unnatural for a util (at least by default when a progress bar is active).
  3. Why doesn't it work the same as wget/curl?

cc @532910, @MaxGelbakhiani, @aprasolova, @vvarg229

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the neofs-cli object put/get command entry points and compare their timeout behavior with the change introduced by PR #2135. Reproduce the shown object put command, determine the intended default behavior for progress-bar transfers, and inspect tests for the affected commands; done means the agreed timeout behavior is applied consistently and failures are reported appropriately.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.