DoRPCWithRetry() doesn't return the actual response from the remote service, which results in clients having to do string matches against the returned error.
The base cause is that .Retryable() error itself is a string, and that's what DoRPCWithRetry uses for flow control in it's retry mechanism.
This can be fixed, but we probably want to take some care that we don't break any parts of the interface.
DoRPCWithRetry() doesn't return the actual response from the remote service, which results in clients having to do string matches against the returned error.
The base cause is that .Retryable() error itself is a string, and that's what DoRPCWithRetry uses for flow control in it's retry mechanism.
This can be fixed, but we probably want to take some care that we don't break any parts of the interface.