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

Bring gRPC retry options in line with other SDKs. #1368

Merged
merged 1 commit into from
Feb 27, 2024

Conversation

chronos-tachyon
Copy link
Contributor

@chronos-tachyon chronos-tachyon commented Feb 27, 2024

What was changed

  • Raise initial interval to 100ms (from 20ms)
  • Drop max interval to 5s (from 10s)
  • Drop backoff factor to 1.7 (from 2.0)
  • Raise jitter factor to 0.2 (from 0.1)

Why?

The current retry options for the TypeScript SDK are a little wonky, as the existing initial interval is by far the most aggressive among all Temporal SDKs. This brings the default parameters in line with the changes already made to the Java SDK and in flight for the Core SDK.

This also fixes a wart: the TypeScript SDK can exhaust all retries in 9.200 seconds, if the random jitters for each retry align in just the right way, and we want all SDKs to keep retrying for at least 10 seconds after the initial failure.

This advances progress on temporalio/features#27 (aka SDK-118 in internal Jira).

@chronos-tachyon chronos-tachyon requested a review from a team as a code owner February 27, 2024 18:38
@chronos-tachyon chronos-tachyon merged commit b38c70c into main Feb 27, 2024
30 checks passed
@chronos-tachyon chronos-tachyon deleted the dking/SDK-118 branch February 27, 2024 20:33
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.

2 participants