@@ -43,12 +43,15 @@ func NewDescriptorProviderReflection(args ReflectionArgs) (DescriptorProvider, e
4343 }
4444 r .InitialState (resolver.State {Addresses : peers })
4545
46- conn , err := grpc .DialContext (context .Background (),
46+ ctx , cancel := context .WithTimeout (context .Background (), args .Timeout )
47+ conn , err := grpc .DialContext (
48+ ctx ,
4749 r .Scheme ()+ ":///" , // minimal target to dial registered host:port pairs
48- grpc .WithTimeout (args .Timeout ),
50+ grpc .WithAuthority (args .Service ),
4951 grpc .WithBlock (),
5052 grpc .WithInsecure ())
5153 if err != nil {
54+ cancel ()
5255 return nil , fmt .Errorf ("could not reach reflection server: %s" , err )
5356 }
5457 pbClient := rpb .NewServerReflectionClient (conn )
@@ -65,7 +68,6 @@ func NewDescriptorProviderReflection(args ReflectionArgs) (DescriptorProvider, e
6568 routingHeaders .Append (ygrpc .RoutingKeyHeader , args .RoutingKey )
6669 }
6770
68- ctx , cancel := context .WithTimeout (context .Background (), args .Timeout )
6971 metadataContext := metadata .NewOutgoingContext (ctx , routingHeaders )
7072 return & grpcreflectSource {
7173 client : grpcreflect .NewClient (metadataContext , pbClient ),
0 commit comments