Skip to content
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

Missing sleep impl results in confusion around timeouts and retry #586

Closed
Tracked by #1583 ...
jdisanti opened this issue Jul 19, 2022 · 3 comments
Closed
Tracked by #1583 ...

Missing sleep impl results in confusion around timeouts and retry #586

jdisanti opened this issue Jul 19, 2022 · 3 comments
Assignees
Labels
bug This issue is a bug.

Comments

@jdisanti
Copy link
Contributor

Describe the bug

When manually configuring the SdkConfig, it's easy to unwittingly not set the sleep_impl, which results in timeouts and retries not working. A warning is emitted when this happens, but if logging is not configured, or if libraries are set to the error log level, then these messages aren't seen. This leads to customer confusion around why retries/timeouts aren't working.

Expected Behavior

If retries or timeouts are enabled, but no sleep_impl is given, then configuration should fail either by panic or by error.

Current Behavior

A warning is emitted, and then retries/timeouts are broken.

Reproduction Steps

N/A

Possible Solution

No response

Additional Information/Context

No response

Version

N/A

Environment details (OS name and version, etc.)

N/A

Logs

No response

@jdisanti jdisanti added the bug This issue is a bug. label Jul 19, 2022
@jdisanti
Copy link
Contributor Author

From discussion with @rcoh:

  • We should probably remove the Rust Default from RetryConfig
  • Write some integration tests from a customers perspective to exercise this error condition for timeouts and retries, and work backwards to a friendly experience
    • Use cases:
      • No timeouts or retries
      • No timeouts, retries
      • Timeouts, no retries
      • Timeouts and retries
    • Make sure the experience makes sense--that the sleep impl requirement is well explained and easy to address
  • The checks will likely end up in the fluent client constructor; the Smithy client concept may get revised to be far more limited in scope (not being coupled to Config), so this should be fine

@jdisanti jdisanti self-assigned this Jul 27, 2022
@jdisanti jdisanti added the pending-release This issue will be fixed by an approved PR that hasn't been released yet. label Sep 1, 2022
@jdisanti
Copy link
Contributor Author

This was fixed in release-2022-09-21.

@github-actions
Copy link

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

@rcoh rcoh removed the pending-release This issue will be fixed by an approved PR that hasn't been released yet. label Nov 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug.
Projects
Archived in project
Development

No branches or pull requests

2 participants