diff options
-rw-r--r-- | doc/environment_variables.md | 4 | ||||
-rw-r--r-- | src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c | 4 | ||||
-rw-r--r-- | src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_fallback.c | 58 | ||||
-rw-r--r-- | src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c | 2 | ||||
-rw-r--r-- | src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c | 60 | ||||
-rw-r--r-- | src/core/lib/iomgr/exec_ctx.c | 1 | ||||
-rw-r--r-- | src/core/lib/iomgr/tcp_client_posix.c | 21 | ||||
-rwxr-xr-x | tools/run_tests/run_tests_matrix.py | 19 |
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 |