aboutsummaryrefslogtreecommitdiff
path: root/src/core/ext/filters
diff options
context:
space:
mode:
authorJuanli Shen <aspirinsjl@gmail.com>2018-08-17 17:01:14 -0700
committerGitHub <noreply@github.com>2018-08-17 17:01:14 -0700
commit1a81d985d8b63cb4df93b9fcd13013ccc102e31c (patch)
tree6c597381c1989cfd300d1edfb3041c71ad36d338 /src/core/ext/filters
parent472b9327c05904f41e32a532da14364d2ced8d42 (diff)
parent25f7d0f6f4a40dc969685192b45257d8c000a58d (diff)
downloadgrpc-grpc-1a81d985d8b63cb4df93b9fcd13013ccc102e31c.tar.gz
Merge pull request #16307 from AspirinSJL/revert_c_to_tf
Revert to TRANSIENT_FAILURE during backoff
Diffstat (limited to 'src/core/ext/filters')
-rw-r--r--src/core/ext/filters/client_channel/subchannel.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/ext/filters/client_channel/subchannel.cc
index 48c6030c89..0e40f42e18 100644
--- a/src/core/ext/filters/client_channel/subchannel.cc
+++ b/src/core/ext/filters/client_channel/subchannel.cc
@@ -404,6 +404,8 @@ static void continue_connect_locked(grpc_subchannel* c) {
c->next_attempt_deadline = c->backoff->NextAttemptTime();
args.deadline = std::max(c->next_attempt_deadline, min_deadline);
args.channel_args = c->args;
+ grpc_connectivity_state_set(&c->state_tracker, GRPC_CHANNEL_CONNECTING,
+ GRPC_ERROR_NONE, "connecting");
grpc_connector_connect(c->connector, &args, &c->connecting_result,
&c->on_connected);
}
@@ -478,8 +480,6 @@ static void maybe_start_connecting_locked(grpc_subchannel* c) {
GRPC_SUBCHANNEL_WEAK_REF(c, "connecting");
if (!c->backoff_begun) {
c->backoff_begun = true;
- grpc_connectivity_state_set(&c->state_tracker, GRPC_CHANNEL_CONNECTING,
- GRPC_ERROR_NONE, "connecting");
continue_connect_locked(c);
} else {
GPR_ASSERT(!c->have_alarm);
@@ -494,11 +494,6 @@ static void maybe_start_connecting_locked(grpc_subchannel* c) {
}
GRPC_CLOSURE_INIT(&c->on_alarm, on_alarm, c, grpc_schedule_on_exec_ctx);
grpc_timer_init(&c->alarm, c->next_attempt_deadline, &c->on_alarm);
- // During backoff, we prefer the connectivity state of CONNECTING instead of
- // TRANSIENT_FAILURE in order to prevent triggering re-resolution
- // continuously in pick_first.
- grpc_connectivity_state_set(&c->state_tracker, GRPC_CHANNEL_CONNECTING,
- GRPC_ERROR_NONE, "backoff");
}
}