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

Wrap GRPC::CANCELED and DEADLINE_EXCEEDED in an SDK Timeout exception for Update #483

Open
5 of 8 tasks
drewhoskins-temporal opened this issue May 18, 2024 · 2 comments
Open
5 of 8 tasks

Comments

@drewhoskins-temporal drewhoskins-temporal changed the title Wrap GRPC::CANCELED and DEADLINE_EXCEEDED in an SDK Timeout exception Wrap GRPC::CANCELED and DEADLINE_EXCEEDED in an SDK Timeout exception for Update May 18, 2024
@cretz
Copy link
Member

cretz commented May 20, 2024

Need to decide what best to call this. Maybe WorkflowUpdateDeadlineExceededX (where X is language specific suffix like Exception or Error)?

@cretz
Copy link
Member

cretz commented Jun 5, 2024

It has been decided to do the following:

  • Have a new WorkflowUpdateRPCTimeoutOrCanceled exception/error in every language (or similar)
    • If the language supports it, have it inherit a base RPCTimeoutOrCanceled exception/error for future use (or similar)
    • Exception name and docs should make it clear in docs this is for RPC call timeout/cancel and not some concept of "update timeout/cancel" (which may appear someday but does not today)
  • Have that thrown/raised when start update or poll for update returns either Canceled or DeadlineExceeded status codes (or if the language has its own cancel exception, catch that)
    • Use the language's wrapping mechanism to wrap the gRPC exception/error instead of replace it
  • Confirm via tests that a timed out update uses this exception/error by using a low timeout in an update that doesn't complete for a long time

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants