aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Yuchen Zeng <zyc@google.com>2017-03-19 22:31:14 -0700
committerGravatar Yuchen Zeng <zyc@google.com>2017-03-19 22:31:14 -0700
commit15618625ed389405aa6afb717721ed6f84452bdd (patch)
tree6a6c1706283ed929d115009e725fcd3322dcc354
parente5230b7f2e758cf46ac26ef4c28baf8dcdce91e8 (diff)
Turn off c_ares resolver by default
-rw-r--r--doc/environment_variables.md4
-rw-r--r--src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c4
-rw-r--r--src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c58
-rw-r--r--src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c2
-rw-r--r--src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c60
-rw-r--r--src/core/lib/iomgr/exec_ctx.c1
-rw-r--r--src/core/lib/iomgr/tcp_client_posix.c21
-rwxr-xr-xtools/run_tests/run_tests_matrix.py19
8 files changed, 16 insertions, 153 deletions
diff --git a/doc/environment_variables.md b/doc/environment_variables.md
index 645ab46ec1..513936d660 100644
--- a/doc/environment_variables.md
+++ b/doc/environment_variables.md
@@ -74,6 +74,6 @@ some configuration as environment variables that can be set.
Declares which DNS resolver to use. The default is ares if gRPC is built with
c-ares support. Otherwise, the value of this environment variable is ignored.
Available DNS resolver include:
- - ares (default) - a DNS resolver based around the c-ares library
- - native - a DNS resolver based around getaddrinfo(), creates a new thread to
+ - native (default)- a DNS resolver based around getaddrinfo(), creates a new thread to
perform name resolution
+ - ares - a DNS resolver based around the c-ares library
diff --git a/src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c b/src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c
index 4ad40f8615..2399b9b80c 100644
--- a/src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c
+++ b/src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c
@@ -369,7 +369,9 @@ static grpc_resolver_factory *dns_ares_resolver_factory_create() {
void grpc_resolver_dns_ares_init(void) {
char *resolver = gpr_getenv("GRPC_DNS_RESOLVER");
- if (resolver == NULL || gpr_stricmp(resolver, "ares") == 0) {
+ /* TODO(zyc): Turn on c-ares based resolver by default after the address
+ sorter is added. */
+ if (resolver != NULL && gpr_stricmp(resolver, "ares") == 0) {
grpc_error *error = grpc_ares_init();
if (error != GRPC_ERROR_NONE) {
GRPC_LOG_IF_ERROR("ares_library_init() failed", error);
diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
deleted file mode 100644
index 5f2ebd60cb..0000000000
--- a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *
- * Copyright 2016, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <grpc/support/port_platform.h>
-#include "src/core/lib/iomgr/port.h"
-#if !(GRPC_ARES == 1 && defined(GRPC_POSIX_SOCKET))
-
-#include "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h"
-
-struct grpc_ares_ev_driver {
- char unused_member; // unused member to prevent undefined behaviour
-};
-
-void grpc_ares_ev_driver_start(grpc_exec_ctx *exec_ctx,
- grpc_ares_ev_driver *ev_driver) {}
-
-ares_channel *grpc_ares_ev_driver_get_channel(grpc_ares_ev_driver *ev_driver) {
- return NULL;
-}
-
-grpc_error *grpc_ares_ev_driver_create(grpc_ares_ev_driver **ev_driver,
- grpc_pollset_set *pollset_set) {
- return GRPC_ERROR_NONE;
-}
-
-void grpc_ares_ev_driver_destroy(grpc_ares_ev_driver *ev_driver) {}
-
-#endif /* !(GRPC_ARES == 1 && defined(GRPC_POSIX_SOCKET)) */
diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c
index 7a104665c1..4c5786dfb4 100644
--- a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c
+++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c
@@ -98,7 +98,7 @@ static void grpc_ares_request_unref(grpc_exec_ctx *exec_ctx,
/* If there are no pending queries, invoke on_done callback and destroy the
request */
if (gpr_unref(&r->pending_queries)) {
- /* TODO(zyc): Sort results with RPC6724 before invoking on_done. */
+ /* TODO(zyc): Sort results with RFC6724 before invoking on_done. */
if (exec_ctx == NULL) {
/* A new exec_ctx is created here, as the c-ares interface does not
provide one in ares_host_callback. It's safe to schedule on_done with
diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
deleted file mode 100644
index 8414de472b..0000000000
--- a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *
- * Copyright 2016, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/* TODO(zyc): remove this fallback after we can build c-ares on windows */
-
-#include <grpc/support/port_platform.h>
-#if !(GRPC_ARES == 1)
-
-#include "src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver.h"
-#include "src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.h"
-
-void grpc_resolve_address_ares_impl(grpc_exec_ctx *exec_ctx, const char *name,
- const char *default_port,
- grpc_pollset_set *interested_parties,
- grpc_closure *on_done,
- grpc_resolved_addresses **addrs) {
- grpc_resolve_address(exec_ctx, name, default_port, interested_parties,
- on_done, addrs);
-}
-
-void (*grpc_resolve_address_ares)(
- grpc_exec_ctx *exec_ctx, const char *name, const char *default_port,
- grpc_pollset_set *interested_parties, grpc_closure *on_done,
- grpc_resolved_addresses **addrs) = grpc_resolve_address_ares_impl;
-
-grpc_error *grpc_ares_init(void) { return GRPC_ERROR_NONE; }
-
-void grpc_ares_cleanup(void) {}
-
-#endif /* GRPC_NATIVE_ADDRESS_RESOLVE */
diff --git a/src/core/lib/iomgr/exec_ctx.c b/src/core/lib/iomgr/exec_ctx.c
index 39ab396268..83bb436bd0 100644
--- a/src/core/lib/iomgr/exec_ctx.c
+++ b/src/core/lib/iomgr/exec_ctx.c
@@ -64,7 +64,6 @@ bool grpc_always_ready_to_finish(grpc_exec_ctx *exec_ctx, void *arg_ignored) {
bool grpc_exec_ctx_flush(grpc_exec_ctx *exec_ctx) {
bool did_something = 0;
- gpr_log(GPR_DEBUG, "grpc_exec_ctx_flush");
GPR_TIMER_BEGIN("grpc_exec_ctx_flush", 0);
for (;;) {
if (!grpc_closure_list_empty(exec_ctx->closure_list)) {
diff --git a/src/core/lib/iomgr/tcp_client_posix.c b/src/core/lib/iomgr/tcp_client_posix.c
index daa4eb51ee..0144192b71 100644
--- a/src/core/lib/iomgr/tcp_client_posix.c
+++ b/src/core/lib/iomgr/tcp_client_posix.c
@@ -35,9 +35,6 @@
#ifdef GRPC_POSIX_SOCKET
-#include "src/core/lib/iomgr/sockaddr.h"
-#include "src/core/lib/iomgr/socket_utils_posix.h"
-
#include "src/core/lib/iomgr/tcp_client_posix.h"
#include <errno.h>
@@ -290,24 +287,6 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx,
*ep = NULL;
- struct sockaddr_in *addr4 = (struct sockaddr_in *)addr->addr;
- if (addr4->sin_family == AF_INET) {
- char output[INET_ADDRSTRLEN];
- inet_ntop(AF_INET, &addr4->sin_addr, output, INET_ADDRSTRLEN);
- gpr_log(GPR_DEBUG,
- "native resolver gets a AF_INET result: \n"
- " addr: %s\n",
- output);
- } else {
- struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)addr->addr;
- char output[INET6_ADDRSTRLEN];
- inet_ntop(AF_INET6, &addr6->sin6_addr, output, INET6_ADDRSTRLEN);
- gpr_log(GPR_DEBUG,
- "native resolver gets a AF_INET6 result: \n"
- " addr: %s\n, sin6_scope_id: %d\n",
- output, addr6->sin6_scope_id);
- }
-
/* Use dualstack sockets where available. */
if (grpc_sockaddr_to_v4mapped(addr, &addr6_v4mapped)) {
addr = &addr6_v4mapped;
diff --git a/tools/run_tests/run_tests_matrix.py b/tools/run_tests/run_tests_matrix.py
index d2de125ffb..6c1d4bd15d 100755
--- a/tools/run_tests/run_tests_matrix.py
+++ b/tools/run_tests/run_tests_matrix.py
@@ -221,19 +221,20 @@ def _create_portability_test_jobs(extra_args=[], inner_jobs=_DEFAULT_INNER_JOBS)
extra_args=extra_args,
inner_jobs=inner_jobs)
- # C and C++ with the native DNS resolver on Linux
+ # C and C++ with the c-ares DNS resolver on Linux
test_jobs += _generate_jobs(languages=['c', 'c++'],
configs=['dbg'], platforms=['linux'],
labels=['portability'],
extra_args=extra_args,
- extra_envs={'GRPC_DNS_RESOLVER': 'native'})
-
- # C with the native DNS resolver on Windonws
- test_jobs += _generate_jobs(languages=['c'],
- configs=['dbg'], platforms=['windows'],
- labels=['portability'],
- extra_args=extra_args,
- extra_envs={'GRPC_DNS_RESOLVER': 'native'})
+ extra_envs={'GRPC_DNS_RESOLVER': 'ares'})
+
+ # TODO(zyc): Turn on this test after adding c-ares support on windows.
+ # C with the c-ares DNS resolver on Windonws
+ # test_jobs += _generate_jobs(languages=['c'],
+ # configs=['dbg'], platforms=['windows'],
+ # labels=['portability'],
+ # extra_args=extra_args,
+ # extra_envs={'GRPC_DNS_RESOLVER': 'ares'})
# cmake build for C and C++
# TODO(jtattermusch): some of the tests are failing, so we force --build_only