mirror of
https://github.com/nspcc-dev/neofs-node.git
synced 2026-03-01 04:29:10 +00:00
neofs-cli default timeouts for object put/object get/etc are implicit #1043
Labels
No labels
I1
I2
I3
I4
S0
S1
S2
S3
S4
U0
U1
U2
U3
U4
blocked
bug
config
dependencies
discussion
documentation
enhancement
enhancement
epic
feature
go
good first issue
help wanted
neofs-adm
neofs-cli
neofs-cli
neofs-cli
neofs-ir
neofs-lens
neofs-storage
neofs-storage
performance
question
security
task
test
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nspcc-dev/neofs-node#1043
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @notimetoname on GitHub (Jun 19, 2023).
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):
as a user, I would ask some questions:
wget/curl?cc @532910, @MaxGelbakhiani, @aprasolova, @vvarg229
@roman-khimov commented on GitHub (Jun 19, 2023):
wget:
curl:
@notimetoname commented on GitHub (Jun 19, 2023):
@roman-khimov, yeah, I read
manbefore the issue was posted.wgetuses a 60(!) times longer default.curlseems not to use a default timeout at all. My question (and the issue) is about the defaults and a message we print when the--timeoutis fired.@notimetoname commented on GitHub (Jun 19, 2023):
and a separate exit code for it?
@roman-khimov commented on GitHub (Jun 19, 2023):
These are just examples, my point is mostly that timeout handling is entirely app-specific, because wgettish timeout is an "idle timeout" (somewhat like our timeout was before #2135), while curly timeout (while not having a default) behaves like #2135.
While static "max execution time" makes sense for container operations, data can be 1MB, 1GB or 1TB and we should be able to handle any of these cases (over any links). So we can turn
--timeoutoff completely for object put/get (but leave it in options). IIUC there are some heartbeats in grpc to react on connection breakage in this case and still fail download/upload if we can no longer transmit data. If that's not sufficient, then an additional "idle timeout" parameter with some sane (30/60s) default value can be used as well.@notimetoname commented on GitHub (Jun 19, 2023):
That is how I would go OR at least do not make it that short by default (we can turn the progress bar off with a separate flag).