Ashwin,

What you observed is correct.

A bit into details: failfast RPCs fail when the ClientConn is 
in TRANSIENT_FAILURE, which means, all underlying connections are all 
in TRANSIENT_FAILURE. But if the resolver never returned any addresses, no 
connection was ever started, so the connectivity state is 
not TRANSIENT_FAILURE.

The expectation was, the resolver should return some addresses when the 
ClientConn starts up. However, this isn't always true because there are 
cases that the resolver simply cannot resolve the name.
There should be a way for a resolver to report an error back when the name 
resolution fails. I filed https://github.com/grpc/grpc-go/issues/2102 to 
track this.

A walkaround today would be to return a fake address that doesn't work, to 
trigger the connecting and connectivity state change.

In your case, why does your resolver not return any addresses? Is it 
because of an error? Would adding the error reporting API solve your 
problem?

Thanks,
Menghan

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/c0247c87-b541-4dc1-ad40-f224656ccd4a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to