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