diff --git a/internal/grpc/retry/retry.go b/internal/grpc/retry/retry.go index 5ab9522f2..c1922397b 100644 --- a/internal/grpc/retry/retry.go +++ b/internal/grpc/retry/retry.go @@ -41,6 +41,11 @@ func ServiceIsUnavailable(err error) bool { return true } + // retry if GCP proxy LB isn't fully available yet + if strings.HasPrefix(statusErr.Message(), `connection error: desc = "transport: authentication handshake failed: read tcp`) { + return true + } + // ideally we would check the error type directly, but grpc only provides a string return !strings.HasPrefix(statusErr.Message(), `connection error: desc = "transport: authentication handshake failed`) }