Skip to content

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

@riannucci

Description

@riannucci

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions