Commit Graph

5359 Commits

Author SHA1 Message Date
Richard Belleville d9903aa44e
Format Channelz Address.TcpIpAddress.address as packed bytes (#25629)
* Move address packing to Core

* Format

* Use absl::Base64Escape

* Update src/core/lib/channel/channelz.cc

Co-authored-by: Yash Tibrewal <yashkt@google.com>

Co-authored-by: Yash Tibrewal <yashkt@google.com>
2021-03-08 17:11:58 -08:00
Yash Tibrewal 8eb2e13a6e
C++ xDS interop test server changes (#25633)
* C++ xDS interop test server changes
2021-03-05 16:25:50 -08:00
Yash Tibrewal a214b52998
Disable channelz_service_test for iOS (#25639) 2021-03-05 14:27:30 -08:00
apolcyn 0901c9914b
Remove CAS loops in global subchannel pool and simplify subchannel refcounting (#25485) 2021-03-04 20:29:34 -08:00
Esun Kim 377fe6095a
Upgrade clang-tidy and clang-format to 11 (#25590)
* Upgrade clang-tidy and clang-format to 11
* Reformat code
* Fix abseil-string-find-str-contains
* Fix modernize-make-unique
2021-03-04 11:54:30 -08:00
Yash Tibrewal 4b9ec936e8
xDS Interop Client changes for PSM security tests (#25613) 2021-03-04 10:09:25 -08:00
Yash Tibrewal abf1e9a3c9
Add missing security field to channelz Socket (#25593)
* Add missing security field to channelz Socket
2021-03-03 23:29:50 -08:00
AJ Heller 0e3a02e903
Revert "Remove the `urgent` argument from iomgr tcp read API (#25494)" (#25592)
This reverts commit a3398f9. Justification: see b/181367644. tl;dr: assuming urgent==false does not hold in all situations.
2021-03-01 22:04:22 -08:00
Jan Tattermusch 65454866da
use linkstatic for libraries that contain main() (#25517) 2021-02-27 07:01:48 +01:00
apolcyn 35569cd544
Make --server_port optional in C++ interop client (#25550)
* make --server_port optional in C++ interop client
2021-02-26 11:38:11 -08:00
Mark D. Roth 49601b0334
Second attempt: xDS HTTP filter support for gRPC client (#25558)
* Revert "Revert "xDS HTTP filter support for gRPC client" (#25555)"

This reverts commit 785a128a83.

* xds_end2end_test: avoid flakes from lingering shutdown from previous test
2021-02-26 07:39:27 -08:00
Mark D. Roth d482f1268a
xds_end2end_test: avoid flakes from lingering shutdown from previous test (#25561) 2021-02-26 00:29:37 -08:00
Mark D. Roth 013e339761
xds_end2end_test: improve TestType API (#25557) 2021-02-25 10:55:34 -08:00
donnadionne 785a128a83
Revert "xDS HTTP filter support for gRPC client" (#25555)
This reverts commit b2164837a8.
2021-02-25 07:18:43 -08:00
donnadionne 1835f00ef1
Revert "Revert "Made grpc_core::Mutex compatible to absl::Mutex" (#25537)" (#25549)
This reverts commit 8e268dcec8.
2021-02-24 16:49:34 -08:00
AJ Heller a3398f924c
Remove the `urgent` argument from iomgr tcp read API (#25494)
The urgent argument is a platform-specific flag that leaked into the (ideally) platform-independent HTTP/2 transport layer. In an effort to clean up the cross-platform API surface, it would be helpful if we can remove this argument from the TCP Read api without losing the performance optimization that was introduced along with it (see #18240).
2021-02-24 12:30:14 -08:00
donnadionne 8e268dcec8
Revert "Made grpc_core::Mutex compatible to absl::Mutex" (#25537)
* Revert "Made grpc_core::Mutex compatible to absl::Mutex"

This reverts commit 0b53341328.

* Revert "Added thread annotation (#25486)"

This reverts commit 9d897cb1a5.

* Revert "Fix a race in resolve_address and resolve_address_posix tests"

This reverts commit 6d8e7d3819.

* Restore 25398

* restore 25398
2021-02-24 10:32:49 -08:00
Vijay Pai af76d0321a
Restore callback microbenchmarks but make them manual for now (#25491) 2021-02-19 13:36:11 -08:00
Lidi Zheng fd6f0183e8
Merge pull request #25484 from lidizheng/fix-typo-in-bootstrap
Fix a typo in xDS bootstrap parsing
2021-02-17 17:58:09 -08:00
Lidi Zheng 2efd2d5216 Fix a typo in xDS bootstrap parsing 2021-02-17 16:10:34 -08:00
Vijay Pai 0e6db8fbec
Reduce max size of bm_callback_streaming_ping_pong messages to match unary 2021-02-17 09:55:45 -08:00
Vijay Pai dba8bb59a0 Implement callback CQ at C++ layer using shared thread pool if non-background iomgr 2021-02-16 16:02:23 -08:00
Esun Kim 8b2bd69ef3
Merge pull request #25387 from veblush/mutex-cpp
Made grpc::internal::Mutex compatible to absl::Mutex
2021-02-12 11:55:44 -08:00
Esun Kim 6468d8a69d Make grpcpp/mutex compatible absl/mutex 2021-02-11 15:02:42 -08:00
Mark D. Roth b2164837a8 xDS HTTP filter support for gRPC client 2021-02-11 13:17:15 -08:00
Esun Kim 8efa9f9142
Merge pull request #25404 from veblush/mutex-api2
Fix-forward: Made grpc_core::Mutex compatible to absl::Mutex
2021-02-11 10:19:33 -08:00
Yash Tibrewal 7c8defd5c9
Merge pull request #25377 from yashykt/removedisrespecfulterm2
Replace disrespectful term
2021-02-10 15:20:27 -08:00
Esun Kim 0b53341328 Made grpc_core::Mutex compatible to absl::Mutex 2021-02-10 09:56:55 -08:00
Esun Kim 6dc1748f6c
Revert "Made grpc_core::Mutex compatible to absl::Mutex" 2021-02-10 07:53:02 -08:00
Yash Tibrewal 15779f7b91
Merge pull request #25380 from yashykt/removedisrespecfulterm3
Replace disrespectful words
2021-02-09 12:07:25 -08:00
Mark D. Roth df062598c0
Merge pull request #25379 from bojeil-google/master
Move third party identity C++ api out of experimental namespace
2021-02-09 06:53:29 -08:00
Esun Kim 6f339894f1
Merge pull request #25325 from veblush/mutex-api
Made grpc_core::Mutex compatible to absl::Mutex
2021-02-08 23:08:39 -08:00
Esun Kim 6a1518bd22 Made grpc_core::Mutex compatible to absl::Mutex 2021-02-08 16:15:53 -08:00
bojeil-google 33b80f16ec Applies clang_format_code.sh to address sanity check tests. 2021-02-08 15:42:40 -08:00
Yash Tibrewal f4e55b85bc Replace disrespectful term 2021-02-08 15:29:53 -08:00
Yash Tibrewal 7a5288d2a0 Replace disrespectful words 2021-02-08 14:29:18 -08:00
Bassam Ojeil a8e061bf88 Removes experimental namespace from ExternalAccountCredentials tests. 2021-02-08 14:22:04 -08:00
Donna Dionne cdd8a4ba87 Change xds_cluster_resolver LB policy config to support combined
locality and endpoint picking policies
2021-02-04 22:42:52 -08:00
Mark D. Roth 4dc84aea46
Merge pull request #25329 from markdroth/xds_ads_parsing
xds: Change ADS parsing to not stop at the first error
2021-02-03 14:59:29 -08:00
Mark D. Roth 044ea22d41
Merge pull request #25338 from markdroth/xds_v3
xds: Remove env-var protection for xDS v3 support.
2021-02-03 14:52:32 -08:00
Mark D. Roth 0f9af3c045 xds: Change ADS parsing to not stop at the first error 2021-02-03 12:27:44 -08:00
Mark D. Roth 30086244c1
Merge pull request #25335 from markdroth/xds_test_fix
Fix fake xDS server bug that caused unnecessary round trips in NACK tests
2021-02-03 12:26:48 -08:00
Mark D. Roth bfd230c29c xds: Remove env-var protection for xDS v3 support. 2021-02-03 11:23:45 -08:00
Mark D. Roth 60204d9e16 Fix fake xDS server bug that caused unnecessary round trips in NACK tests. 2021-02-03 08:29:06 -08:00
Donna Dionne 07d51a4d12 Fixing Logical DNS case:
override child policy with pick_first
set ignore_reresolution to false
ensure ExitIdleLock happens at every level of policy
2021-02-02 10:39:38 -08:00
Yash Tibrewal 88086a57a4 Fix xds_end2end_test for ipv6 only platforms 2021-01-28 13:44:48 -08:00
Mark D. Roth e6c5554b0e
Merge pull request #25283 from markdroth/xds_nack_fix
Fix NACK detection in test xDS server.
2021-01-28 07:28:50 -08:00
Mark D. Roth 958c8e15f7 Fix NACK detection in test xDS server. 2021-01-27 11:53:52 -08:00
Esun Kim be761cd430 Fixed sign-compare warnings 2021-01-27 11:16:18 -08:00
Esun Kim 931ce5aea1
Merge pull request #25234 from veblush/fix-error_details_test
Added no_test_ios to error_details_test
2021-01-22 08:55:44 -08:00
donnadionne 191431ab03
Merge pull request #25193 from donnadionne/to_interop
xds_interop_client.cc modification: new stats and new timeout_sec config
2021-01-21 17:28:14 -08:00
Donna Dionne b2443df1e1 xds_interop_client.cc modification: new stats and new timeout_sec config 2021-01-21 15:23:02 -08:00
Esun Kim 9eabb96f1c Added no_test_ios to error_details_test 2021-01-21 15:01:36 -08:00
Donna Dionne 19b1f8f64a Cds Watchers changes to support aggregate Cds and Logical DNS Cds. 2021-01-21 14:25:50 -08:00
Esun Kim 2cc1abde09
Merge pull request #25228 from veblush/fix-unused-parameter2
Fix more unused-parameter warning
2021-01-21 13:05:22 -08:00
Esun Kim a1ae48db20
Merge pull request #25196 from devjgm/error-details-template
refactor!: change error_details functions to templates
2021-01-21 11:26:33 -08:00
Esun Kim 669e859f7a Fix more unused-parameter warning 2021-01-21 10:30:16 -08:00
Esun Kim 9eae29f8e9
Merge pull request #25134 from veblush/fix-unused-parameter
Fix unused parameter warnings
2021-01-21 10:08:09 -08:00
donnadionne d0f46266c5
Merge pull request #25178 from donnadionne/present
Add Missing test case: present match
2021-01-20 16:15:46 -08:00
Mark D. Roth 5b5e3f84a1
Merge pull request #25214 from markdroth/xds_bootstrap_env_var
Add ability to read xDS bootstrap config from an env var.
2021-01-20 14:34:59 -08:00
Zhouyihai Ding 6f6bdd03e6
Merge pull request #25175 from ZhouyihaiDing/callback_add_context
Support ServerContext for callback API
2021-01-20 11:52:02 -08:00
Mark D. Roth 42f123efbe Add ability to read xDS bootstrap config from an env var. 2021-01-20 11:00:27 -08:00
Esun Kim 0db0ab052d Update by review 2021-01-20 10:44:14 -08:00
Greg Miller 7d4d516511 wip: change error_details functions to templates 2021-01-20 09:48:22 -05:00
ZhouyihaiDing a584bc4f02 Support ServerContext for callback API 2021-01-19 22:00:10 -08:00
Esun Kim 9bd7c4917a Fix unused-parameter warning 2021-01-19 18:18:09 -08:00
Yash Tibrewal d007862824
Merge pull request #25154 from yashykt/xdsend2endtestflakefix
Fix xds_end2end_test flakiness
2021-01-19 13:03:24 -08:00
Yash Tibrewal 0406f3ba42 Fix xds_end2end_test msan flake 2021-01-19 11:18:21 -08:00
Yash Tibrewal be34f56895
Merge pull request #25179 from yashykt/xdsend2endtestfix
Fix end2end test for ipv6 only platforms
2021-01-17 13:42:11 -08:00
Yash Tibrewal 60891587bb Fix end2end test for ipv6 only platforms 2021-01-15 18:35:48 -08:00
Donna Dionne 83d6d96c86 Add Missing test case: present match
Interop reported an error for a present match and it is discovered this
case is missing from unit test.  We have test for present (false) and we
have special case test but we don't have the normal present (true) test.

We also had a bug in a our code:
if (!value.has_value()) {
    if (header_matcher.type ==
        XdsApi::Route::Matchers::HeaderMatcher::HeaderMatcherType::PRESENT) {
      return !header_matcher.present_match;
    } else {
      // For all other header matcher types, we need the header value to
      // exist to consider matches.
      return false;
    }
  }
  switch (header_matcher.type) {
    case XdsApi::Route::Matchers::HeaderMatcher::HeaderMatcherType::EXACT:
      return value.value() == header_matcher.string_matcher;
    case XdsApi::Route::Matchers::HeaderMatcher::HeaderMatcherType::REGEX:
      return RE2::FullMatch(value.value().data(), *header_matcher.regex_match);
    case XdsApi::Route::Matchers::HeaderMatcher::HeaderMatcherType::RANGE:
      int64_t int_value;
      if (!absl::SimpleAtoi(value.value(), &int_value)) {
        return false;
      }
      return int_value >= header_matcher.range_start &&
             int_value < header_matcher.range_end;
    case XdsApi::Route::Matchers::HeaderMatcher::HeaderMatcherType::PREFIX:
      return absl::StartsWith(value.value(), header_matcher.string_matcher);
    case XdsApi::Route::Matchers::HeaderMatcher::HeaderMatcherType::SUFFIX:
      return absl::EndsWith(value.value(), header_matcher.string_matcher);
    default:
      return false;
  }

Note if header has value, we will go into the swtich but there is no case
XdsApi::Route::Matchers::HeaderMatcher::HeaderMatcherType::PRESENT,
which means we would have gone into default and decleared not a match.

The same day this bug was discovered by interop test, https://github.com/grpc/grpc/pull/25122
was submitted and the refactoring fixed the bug.

Nevertheless, I added the test case for the future.
2021-01-15 17:50:29 -08:00
donnadionne d17ef6be04
Merge pull request #25139 from donnadionne/switch_bug
Fixing TryNextPrioirtyLocked to ensure we properly try higher priorities when lower ones fail
2021-01-15 17:09:55 -08:00
Ashitha Santhosh 4ca878799b Refactor [String/Header/Path]matchers in xds_api. 2021-01-15 12:32:54 -08:00
Donna Dionne 4715bbc220 Fixing TryNextPrioirtyLocked to ensure we properly try higher priorities when lower ones fail 2021-01-14 16:07:42 -08:00
Yash Tibrewal ac4f4de196 xDS server config fetcher 2021-01-14 14:27:51 -08:00
Sergii Tkachenko 8db79e2e71 Python style: reformat code using updated yapf 0.30.0 2021-01-13 14:00:12 -05:00
Mark D. Roth 8ddbc50272 change xDS certificate provider to contain a map by cluster 2021-01-12 10:51:50 -08:00
ZhenLian e745f8cb55
Merge pull request #25018 from ZhenLian/zhen_dynamic_file_reloading_9
Support Default Root Certs in Tls Credentials
2021-01-07 09:40:31 -08:00
ZhenLian c48e39d5c2 Support Default Root Certs in Tls Credentials 2021-01-06 23:02:52 -08:00
Donna Dionne 5c1834e8db A previous fix which changed grpc_cycle_counter_to_millis_round_down/up
was not the correct fix and caused window test issues.

The correct fix is to ensure the test uses the same time apis as the
product code: grp_get_cycle_counter (which is platform dependent) to get
current time.

Tested both in open source and patched into google3 to ensure successful
import:
https://critique-ng.corp.google.com/cl/349981071/analysis
2021-01-06 18:26:54 -08:00
Yang Gao f735728a39
Merge pull request #25055 from acozzette/parse-json
Updated parse_json.cc to rely on config_protobuf.h for protobuf types
2021-01-06 14:48:47 -08:00
yang-g c6c3dc57af Remove unneeded filter 2021-01-06 10:59:56 -08:00
apolcyn 78dc1394fd
Merge pull request #25064 from apolcyn/merge_ares_structs
Move grpc_ares_ev_driver and fd_node into grpc_ares_wrapper.cc
2021-01-06 10:32:44 -08:00
Mark D. Roth c01a7ad71a
Merge pull request #24814 from renkelvin/apis
Add support of implicit and explicit flows for external account creds
2021-01-05 19:32:20 -08:00
Mark D. Roth 861c54a7fa
Merge pull request #25091 from markdroth/string_less_new
Remove StringLess and src/core/lib/gprpp/map.h.
2021-01-05 15:24:44 -08:00
apolcyn 91f80720a3
Merge pull request #25069 from apolcyn/plumb_extra_args
Add a mechanism to plumb arbitary command line flags to the c-ares unit test binary
2021-01-05 14:39:31 -08:00
Chuan Ren 06cc42eb85 Add support of implicit and explicit flows for external account creds 2021-01-05 13:20:42 -08:00
Mark D. Roth 1bc2d7d1a6 Remove StringLess and src/core/lib/gprpp/map.h. 2021-01-05 09:47:42 -08:00
Alexander Polcyn 882243606f Add a mechanism to plumb arbitary command line flags to the c-ares unit test binary 2020-12-28 23:22:54 -08:00
Alexander Polcyn 17a49209bc Remove unnecessary signal-forwarding/timeout thread in c-ares unit test driver 2020-12-28 16:50:17 -08:00
Alexander Polcyn 8215b21dc1 move grpc_ares_ev_driver and fd_node definitions into grpc_ares_wrapper.cc 2020-12-28 11:51:16 -08:00
Adam Cozzette 63ee5b62c2 Updated parse_json.cc to rely on config_protobuf.h for protobuf types
Google's internal version of the gRPC codebase uses a version of
protobuf with a different namespace and include paths. This commit makes
parse_json.cc rely on config_protobuf.h for protobuf types so that it
will work properly in that environment. I also replaced a call to
Status::error_code() with a call to Status::code() instead. This way the
code will work with absl::Status, which has a somewhat different API
compared to google::protobuf::util::Status.
2020-12-23 15:55:17 -08:00
Donna Dionne 88876b194c Fixing interop client to send all RPC types for each duration_per_query. 2020-12-22 10:15:48 -08:00
Yash Tibrewal 9c043baf49 Allow the channelz service test to get different listen socket sizes 2020-12-21 12:57:10 -08:00
Donna Dionne 9b1172697e Adding a expect_status flag in xds interop client to get ready for
timeout tests.
2020-12-21 09:51:26 -08:00
Mark D. Roth 55154ce24c
Merge pull request #25032 from markdroth/xds_weighted_cluster_weight_0_fix
xds: Ignore WeightedCluster entries with weight 0.
2020-12-21 08:32:25 -08:00
Mark D. Roth a38d6c641f xds: Ignore WeightedCluster entries with weight 0. 2020-12-17 16:00:47 -08:00
Yash Tibrewal e33849682c
Merge pull request #24956 from yashykt/xds_server
Delay listening when using ServerConfigFetcher
2020-12-17 13:00:32 -08:00
Yash Tibrewal 4105d2ce20 XdsServerBuilder, config fetching per resolved address and delaying bind/listen till fetch is complete 2020-12-16 12:15:52 -08:00
Alexander Polcyn 9480039754 Fix formatting 2020-12-16 11:00:51 -08:00