soto-core
soto-core copied to clipboard
AWSServiceConfig forces a timeout
Describe the bug
AWSServiceConfig
’s initializer forces a non-nil timeout by providing a default value if nil is passed in. This eventually gets passed to async-http-client, which uses it as a hard deadline for completing a task.
Very large file uploads can take a long time (even using multipart), and guessing the right timeout can be a pain. It would be better to not specify a timeout at all, which will make async-http-client avoid setting any timeout schedulers. You can still rely on the underlying network stack to time out, which tends to time out only when lower-level stuff is not ACKed.
To Reproduce
n/a
Expected behavior
The API provides no way to specify "no timeout." Normally this would be done by passing nil
, but it takes that and sets a default 20-second timeout here.
Setup (please complete the following information):
Any
Additional context
Possibly fixed by either setting the default timeout as the default argument in the initializer, but unfortunately that would also need to be set in the S3 initializer. Better would be to make timeout
optional in AWSServiceConfig
.