never retry permanent connection errors (#73)

Now that https://github.com/grpc/grpc-go/pull/2508 is in, gRPC plumbs the
last connection error when we attempt to make an RPC on a clientconn that has
not been successfully conencted.

So, in this CL, we check errors for a permanent connection problem.
Specifically if certificates are misconfigured, or ca-certificates are missing,
we expect not to be able to establish a connection in a reasonable amount of
time and instead bail out and return the error to the user to fix.

Fixes https://github.com/googleapis/google-cloud-go/issues/1234
1 file changed
tree: f51c7d2aeff8caef7c8225e758e9fcb8f92607f9
  1. internal/
  2. v2/
  3. .gitignore
  4. call_option.go
  5. CODE_OF_CONDUCT.md
  6. CONTRIBUTING.md
  7. gax.go
  8. go.mod
  9. go.sum
  10. header.go
  11. invoke.go
  12. LICENSE
  13. README.md
README.md

Google API Extensions for Go

GoDoc

Google API Extensions for Go (gax-go) is a set of modules which aids the development of APIs for clients and servers based on gRPC and Google API conventions.

To install the API extensions, use:

go get -u github.com/googleapis/gax-go

Note: Application code will rarely need to use this library directly, but the code generated automatically from API definition files can use it to simplify code generation and to provide more convenient and idiomatic API surface.

Go Versions

This library requires Go 1.6 or above.

License

BSD - please see LICENSE for more information.