Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

client: Make gRPC INTERNAL status retryable #1455

Merged
merged 6 commits into from
Jul 12, 2024

Conversation

mjameswh
Copy link
Contributor

@mjameswh mjameswh commented Jul 2, 2024

What was changed and why?

  • In client, some variants of gRPC's INTERNAL status code are now considered as retryable (more specifically: errors where message contain RST_STREAM with code 0 or RST_STREAM with code 2, except TLS related issues). Users are seeing these specific errors quite regularly, apparently due to transient issues at the HTTP2 connection level. After discussion with both SDK and Server team, we believe that in most case retrying these errors would be beneficial, and in the worst case, should only result in minor waste of resource on the server.

  • In WorkflowClient, list().withHistories() no longer swallow client errors (they would previously result in an entry where history is undefined, with no way to know the underlying issue).

@mjameswh mjameswh requested a review from a team as a code owner July 2, 2024 16:12
@Quinn-With-Two-Ns
Copy link

gRPC's INTERNAL status code is now considered as retryable. That's what we do in all other SDKs.

I don't think this is true. All SDKs do not consider INTERNAL retryable.

@cretz
Copy link
Member

cretz commented Jul 2, 2024

👍 to @Quinn-With-Two-Ns - internal is not meant to be retried IIUC (except on older servers based on capability, but that was a long time ago, can probably just not retry).

@mjameswh mjameswh force-pushed the grpc-internal-and-ci-buildjet branch from 0c87dbe to c280ae4 Compare July 11, 2024 21:29
@mjameswh mjameswh merged commit 2de1b01 into temporalio:main Jul 12, 2024
70 checks passed
@mjameswh mjameswh deleted the grpc-internal-and-ci-buildjet branch July 12, 2024 00:24
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants