-
Notifications
You must be signed in to change notification settings - Fork 916
Treat UncheckedIOException as IOExceptions #5319
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Could you please mention some details like which service was facing this issue and how this issue surfaced ? |
...software/amazon/awssdk/core/internal/http/pipeline/stages/TimeoutExceptionHandlingStage.java
Outdated
Show resolved
Hide resolved
Something to also consider while fixing is instance like aws-sdk-java-v2/core/sdk-core/src/main/java/software/amazon/awssdk/core/BytesWrapper.java Line 91 in 9fec27c
|
Yes, as discussed offline yesterday, we need to cut a broader task to identify and handle UncheckedIOExceptions throughout the SDK codebase. Now that we know it most certainly has to be retried. This SIM addresses the imminent task, which is timeout caused UncheckedIOExceptions. |
|
|
@@ -90,8 +92,8 @@ public Response<OutputT> execute(SdkHttpFullRequest request, RequestExecutionCon | |||
* @return The translated exception. | |||
*/ | |||
private Exception translatePipelineException(RequestExecutionContext context, Exception e) { | |||
if (e instanceof InterruptedException || e instanceof IOException || | |||
e instanceof AbortedException || Thread.currentThread().isInterrupted() | |||
if (e instanceof InterruptedException || e instanceof IOException |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we reformat it as before so that it doesnot show in diff , else in GitBlame it will show up as new change
Closing in favor of #5439 |
Motivation and Context
Timeout triggered termination of the connection stream, causes SDK to not perform retries even if configured.
Modifications
Users of DynamoDB experienced and reported that API timeouts causing UncheckedIOException do not get retried, despite the client being configured to retry timeout exceptions.
Testing
Added unit test
Screenshots (if appropriate)
Types of changes