aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
diff options
context:
space:
mode:
authorGravatar David Garcia Quintas <dgq@google.com>2018-02-01 15:00:03 -0800
committerGravatar David Garcia Quintas <dgq@google.com>2018-02-01 15:00:03 -0800
commit64d02bac04be2d33bad51f2f335ff85fd2bea91c (patch)
tree6352edcc98cf2ad26235af0184cda0cd87393756 /src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
parente53d6b3f6034a5bbf72e3ad4438f834191235323 (diff)
parentac47595e42036585a9d9465ba28615d3e4626b13 (diff)
Merge branch 'master' of github.com:grpc/grpc into dns_cooldown
Diffstat (limited to 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc')
-rw-r--r--src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
index ecd6116ad1..9cca82168f 100644
--- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
+++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
@@ -135,7 +135,6 @@ static void dns_ares_shutdown_locked(grpc_resolver* resolver) {
static void dns_ares_channel_saw_error_locked(grpc_resolver* resolver) {
ares_dns_resolver* r = (ares_dns_resolver*)resolver;
if (!r->resolving) {
- r->backoff->Reset();
dns_ares_maybe_start_resolving_locked(r);
}
}
@@ -266,6 +265,9 @@ static void dns_ares_on_resolved_locked(void* arg, grpc_error* error) {
if (service_config != nullptr) grpc_service_config_destroy(service_config);
gpr_free(service_config_string);
grpc_lb_addresses_destroy(r->lb_addresses);
+ // Reset backoff state so that we start from the beginning when the
+ // next request gets triggered.
+ r->backoff->Reset();
} else {
const char* msg = grpc_error_string(error);
gpr_log(GPR_DEBUG, "dns resolution failed: %s", msg);
@@ -303,7 +305,6 @@ static void dns_ares_next_locked(grpc_resolver* resolver,
r->next_completion = on_complete;
r->target_result = target_result;
if (r->resolved_version == 0 && !r->resolving) {
- r->backoff->Reset();
dns_ares_maybe_start_resolving_locked(r);
} else {
dns_ares_maybe_finish_next_locked(r);