|
|
|
@ -353,6 +353,23 @@ TEST_F(ClientLbEnd2endTest, PickFirst) { |
|
|
|
|
EXPECT_EQ("pick_first", channel->GetLoadBalancingPolicyName()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(ClientLbEnd2endTest, PickFirstProcessPending) { |
|
|
|
|
StartServers(1); // Single server
|
|
|
|
|
auto channel = BuildChannel(""); // test that pick first is the default.
|
|
|
|
|
auto stub = BuildStub(channel); |
|
|
|
|
SetNextResolution({servers_[0]->port_}); |
|
|
|
|
WaitForServer(stub, 0, DEBUG_LOCATION); |
|
|
|
|
// Create a new channel and its corresponding PF LB policy, which will pick
|
|
|
|
|
// the subchannels in READY state from the previous RPC against the same
|
|
|
|
|
// target (even if it happened over a different channel, because subchannels
|
|
|
|
|
// are globally reused). Progress should happen without any transition from
|
|
|
|
|
// this READY state.
|
|
|
|
|
auto second_channel = BuildChannel(""); |
|
|
|
|
auto second_stub = BuildStub(second_channel); |
|
|
|
|
SetNextResolution({servers_[0]->port_}); |
|
|
|
|
CheckRpcSendOk(second_stub, DEBUG_LOCATION); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST_F(ClientLbEnd2endTest, PickFirstBackOffInitialReconnect) { |
|
|
|
|
ChannelArguments args; |
|
|
|
|
constexpr int kInitialBackOffMs = 100; |
|
|
|
|