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

feat: add log for failed refresh of retry token #727

Merged
merged 8 commits into from
May 17, 2024
Merged

Conversation

dayaffe
Copy link
Contributor

@dayaffe dayaffe commented May 15, 2024

Issue #

#1207

Description of changes

Scope

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@dayaffe dayaffe requested review from sichanyoo and jbelkins May 15, 2024 18:46
@@ -61,18 +61,18 @@ public struct RetryMiddleware<Strategy: RetryStrategy,
do {
try await strategy.refreshRetryTokenForRetry(tokenToRenew: token, errorInfo: errorInfo)
} catch {
// TODO: log token error here
context.getLogger()?.error("Failed to refresh retry token: \(errorInfo)")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does printing errorInfo actually log?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed this to errorInfo.errorType which will print out the type of error based on RetryErrorType enum:

/// This is a connection level error such as a socket timeout, socket connect error, tls negotiation timeout etc...
/// Typically these should never be applied for non-idempotent, request types since in this scenario, it’s impossible
/// to know whether the operation had a side effect on the server.
case transient

/// This is an error where the server explicitly told the client to back off, such as a 429 or 503 HTTP error.
case throttling

/// This is a server error that isn’t explicitly throttling but is considered by the client to be something that should be retried.
case serverError

/// Doesn’t count against any budgets.  This could be something like a 401 challenge in HTTP.
case clientError

@dayaffe dayaffe requested a review from jbelkins May 16, 2024 01:06
@dayaffe dayaffe merged commit 0727801 into main May 17, 2024
17 checks passed
@dayaffe dayaffe deleted the day/retry-logging branch May 17, 2024 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants