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

Is it possible to use context.WithTimeoutCause in Client.CallWithTimeout? #584

Open
riannucci opened this issue Jul 1, 2024 · 2 comments

Comments

@riannucci
Copy link

riannucci commented Jul 1, 2024

Hello!

In Chromium we saw an issue where a user on Windows was having a CAS client timeout - we think we narrowed it down to which timeout it could be the cause (We think it's BatchUpdateBlobs), but the error message is just:

rpc error: code = DeadlineExceeded desc = retry budget exhausted (6 attempts): context deadline exceeded

If Client.CallWithTimeout was using context.WithTimeoutCause (from Go 1.21), this error would have been much clearer, probably something like:

rpc error: code = DeadlineExceeded desc = retry budget exhausted (6 attempts): BatchUpdateBlobs rpcTimeout exceeded

I realize that this would require updating go.mod to 1.21 though (it's 1.20 currently) and I'm not sure what the policy on this is... however when that update eventually does happen, I think this would be a very helpful change to make.

edit: typo

@mrahs
Copy link
Collaborator

mrahs commented Jul 2, 2024

Great suggestion. Our policy is to stick to the minimum supported version of stable go. We will move to 1.21 once 1.23-stable is released, which should be sometime next month: https://tip.golang.org/doc/go1.23

Please feel free to post a PR for this.

@mrahs
Copy link
Collaborator

mrahs commented Aug 14, 2024

1.23 just landed yesterday: https://go.dev/doc/devel/release#go1.23.0

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

No branches or pull requests

2 participants