-
Notifications
You must be signed in to change notification settings - Fork 654
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
ACMPCA CertificateIssuedWaiter default "retryable" behavior possibly incorrect #1585
Comments
Hi @azdagron thanks for reaching out. Can you provide more information on how we can reproduce this behavior? |
This issue has not received a response in 1 week. If you want to keep this issue open, please just leave a comment below and auto-close will be canceled. |
Hi @vudh1. I didn't discover this by having a problem firsthand. Rather, I was looking through the SDK code when we migrated to v2 to make double check some usage of ours and noticed this code and thought it looked wrong. I looked up the counterpart in the Java library to see what happened there and noticed the behavior difference. I don't know if it is a bug, but does seem to represent an inconsistency in behavior between the Go and Java SDKs. |
Hi there, The waiter definition is what controls which error is retried on, and which error is not. Since the waiter is generated based on that model definition, we have decided that at this point since this is not blocking you, its a 2 year old issue we are going to close this. If new customers are seeing this issue and still think this should be fixed, please open a new separate issue. Thanks, |
This issue is now closed. Comments on closed issues are hard for our team to see. |
Documentation
Describe the bug
When the CertificateIssuedWaiter sees an error come back from GetCertificate, it queries a callback set on the options to determine if it should retry based on the error seen.
The default implementation of this option callback is the certificateIssuedStateRetryable function.
This function has the following behavior:
false, nil
which results in theWaitOutput
function returning the certificate ✅true, nil
, which results in theWaitOutput
function retrying the operation ✅true, nil
, which results in theWaitOutput
function retrying the operation ❌This behavior seems to differ from the Java SDK, which will only retry on RequestInProgressException, and otherwise rethrow other exceptions.
Seems like the function should return the error if it isn't a RequestInProgressException so that
WaitOutput
will bubble the error up.Expected behavior
Waiter should only retry on RequestInProgressException and not for every error.
Current behavior
Waiter retries on any error.
Steps to Reproduce
N/A
Possible Solution
No response
AWS Go SDK version used
github.com/aws/aws-sdk-go-v2/service/acmpca v1.14.0
Compiler and Version used
go version go1.17.6 darwin/amd64
Operating System and version
N/A
The text was updated successfully, but these errors were encountered: