Closed rmt2021 closed 2 years ago
Good catch on the SDK, these calls need to timeout.
I'm worried that 10 seconds will be too low for someone running this from a slow network.
When running within the same AWS region 10 seconds should be more than enough.
Let's try to find a balance on this. How about setting it to 100 (similar to .NET desktop) and/or making the timeout a config value so it can be adjusted if needed?
Thanks for the suggestion @emgarten ! I think it makes a lot of sense.
I have enlarged the timeout to 100 seconds.
Released in https://www.nuget.org/packages/Sleet/5.0.14
I found this in the AWS S3 document https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/retries-timeouts.html:
So the AWS SDK will set the largest integer as the timeout by default. Currently, we will always wait for the response to come, which will make the SDK API unresponsive and decrease the efficiency. Even worse, if the response is lost during its delivery, we will wait there forever. In this regard, I manually set the timeout of AmazonS3Client as 10 seconds.