|  | @@ -1805,7 +1805,16 @@ TEST_P(BasicTest, BackendsRestart) {
 | 
	
		
			
				|  |  |    WaitForAllBackends();
 | 
	
		
			
				|  |  |    // Stop backends.  RPCs should fail.
 | 
	
		
			
				|  |  |    ShutdownAllBackends();
 | 
	
		
			
				|  |  | -  CheckRpcSendFailure();
 | 
	
		
			
				|  |  | +  // Sending multiple failed requests instead of just one to ensure that the
 | 
	
		
			
				|  |  | +  // client notices that all backends are down before we restart them. If we
 | 
	
		
			
				|  |  | +  // didn't do this, then a single RPC could fail here due to the race condition
 | 
	
		
			
				|  |  | +  // between the LB pick and the GOAWAY from the chosen backend being shut down,
 | 
	
		
			
				|  |  | +  // which would not actually prove that the client noticed that all of the
 | 
	
		
			
				|  |  | +  // backends are down. Then, when we send another request below (which we
 | 
	
		
			
				|  |  | +  // expect to succeed), if the callbacks happen in the wrong order, the same
 | 
	
		
			
				|  |  | +  // race condition could happen again due to the client not yet having noticed
 | 
	
		
			
				|  |  | +  // that the backends were all down.
 | 
	
		
			
				|  |  | +  CheckRpcSendFailure(num_backends_);
 | 
	
		
			
				|  |  |    // Restart all backends.  RPCs should start succeeding again.
 | 
	
		
			
				|  |  |    StartAllBackends();
 | 
	
		
			
				|  |  |    CheckRpcSendOk(1, RpcOptions().set_timeout_ms(2000).set_wait_for_ready(true));
 |