@@ -271,7 +271,9 @@ func (s) TestLoadReportingPickFirstMultiLocality(t *testing.T) {
271271 }
272272
273273 // Create a ClientConn and make a successful RPC.
274- cc , err := grpc .NewClient (fmt .Sprintf ("xds:///%s" , serviceName ), grpc .WithTransportCredentials (insecure .NewCredentials ()), grpc .WithResolvers (resolverBuilder ))
274+ cc , err := grpc .NewClient (fmt .Sprintf ("xds:///%s" , serviceName ),
275+ grpc .WithTransportCredentials (insecure .NewCredentials ()),
276+ grpc .WithResolvers (resolverBuilder ))
275277 if err != nil {
276278 t .Fatalf ("failed to dial local test server: %v" , err )
277279 }
@@ -318,7 +320,14 @@ func (s) TestLoadReportingPickFirstMultiLocality(t *testing.T) {
318320
319321 // Stop server 1 and send one more rpc. Now the request should go to server 2.
320322 server1 .Stop ()
321- client .EmptyCall (ctx , & testpb.Empty {}, grpc .Peer (& peer ))
323+ // The first call may go to server 1 and fail, so we send two requests.
324+ if _ , err := client .EmptyCall (ctx , & testpb.Empty {}, grpc .Peer (& peer )); err != nil {
325+ t .Logf ("First rpc EmptyCall() failed: %v" , err )
326+ }
327+
328+ if _ , err := client .EmptyCall (ctx , & testpb.Empty {}, grpc .Peer (& peer )); err != nil {
329+ t .Fatalf ("rpc EmptyCall() failed: %v" , err )
330+ }
322331
323332 // Verify that the request was sent to server 2.
324333 if got , want := testutils .ParsePort (t , peer .Addr .String ()), port2 ; got != want {
0 commit comments