Hi all - is it correct to say that what's considered a transient
failure (in the context of Wait For Ready semantics [1]) is also
what's considered a temporary error when using the grpc.WithBlock()
DialOption?
Also, is there any documentation around what's considered a temporary
failure and/or transient failure? As of now, the only definitive
reference seems to be all the error types implementing the Temporary()
method and the value that it returns.
// internal/transport/http2_client.go
func isTemporary(err error) bool {
switch err := err.(type) {
case interface {
Temporary() bool
}:
return err.Temporary()
case interface {
Timeout() bool
}:
// Timeouts may be resolved upon retry, and are thus treated as
// temporary.
return err.Timeout()
}
return true
}
[1]
https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md