diff options
author | 2018-11-15 08:27:35 -0800 | |
---|---|---|
committer | 2018-11-15 09:36:49 -0800 | |
commit | d18458720c03e13b062d9726561dfbaff33644ab (patch) | |
tree | a6f14104bf1b083d6360eab0faabfe311e4966ea /src/core/ext/filters/client_channel/client_channel.cc | |
parent | dc1bbf9932b8de85e96c92db9c7f43219498b58c (diff) |
Don't reset channel state on resolver failure when LB policy exists.
Diffstat (limited to 'src/core/ext/filters/client_channel/client_channel.cc')
-rw-r--r-- | src/core/ext/filters/client_channel/client_channel.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/ext/filters/client_channel/client_channel.cc index 8e9ee889e1..38036c9718 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/ext/filters/client_channel/client_channel.cc @@ -597,6 +597,8 @@ static void on_resolver_result_changed_locked(void* arg, grpc_error* error) { if (grpc_client_channel_trace.enabled()) { gpr_log(GPR_INFO, "chand=%p: resolver transient failure", chand); } + // Don't override connectivity state if we already have an LB policy. + if (chand->lb_policy != nullptr) set_connectivity_state = false; } else { grpc_core::UniquePtr<char> lb_policy_name = get_lb_policy_name_from_resolver_result_locked(chand); |