Commit Graph

2358 Commits

Author SHA1 Message Date
Vijay Pai cf1ebf7387
Remove experimental tag from uses of the C++ callback API (#26495) 2021-06-20 00:47:07 -07:00
Yash Tibrewal bb994526ba
Fix ExistingRpcsOnResourceDeletion flakiness (#26419) 2021-06-02 18:48:44 -07:00
Lidi Zheng a36199b2d5
Tighten the probability requirement from 99.99% to 99.995% (#26408)
* Tighten the probability requirement from 99.99% to 99.995%

* Update comments
2021-06-01 17:14:00 -07:00
Vijay Pai 8aff94558c
De-experimentalize C++ callback API (#25728)
* De-experimentalize callback API

* Make FromServerContext based on ServerContextBase

* Fix lambda

* Fix headers

* De-experimentalize tests

* clang-format

* Fix consistency checks

* wip

* Fix const-ness of callback client read RPC requests

* Fix golden file

* Give full route_guide callback client example with Hold etc

* Complete example route-guide server

* De-experimentalize test services

* Omit unneeded using

* Remove some uses of non-experimental macro from test

* clang-format examples

* De-experimentalize async stub calls

* Remove experimental namespace use in qps, ubms

* De-experimentalize alarms, generic stubs, and context allocator

* De-experimentalize SetContextAllocator

* clang-format

* Fix conflicts

* Leave obsolete API in place until users can be migrated
2021-05-27 14:55:25 -07:00
Vijay Pai 153bc67f45
Revert "Revert "Revert "Revert "Expose trailers-only response status through C++ callback API"" (#26365)" (#26375)" (#26379)
This reverts commit 259a74c0e6.
2021-05-27 09:16:05 -07:00
Yash Tibrewal 259a74c0e6
Revert "Revert "Revert "Expose trailers-only response status through C++ callback API"" (#26365)" (#26375)
This reverts commit 66253c521a.
2021-05-26 22:20:23 -07:00
donnadionne e22fefb39a
Ring hash implementation (#26356)
* Ring hash implementation

* Fixing an error caught during import:
ipv6 addresses need small modifications when creating the ring entry.

* fixing an error

* removing debugs

* Remove unnecssary hashing

* small cleanup
2021-05-26 00:03:42 -07:00
Vijay Pai 66253c521a
Revert "Revert "Expose trailers-only response status through C++ callback API"" (#26365)
* Revert "Revert "Expose trailers-only response status through C++ callback API (#26249)" (#26363)"

This reverts commit 05c3b30ea0.

* Move the trailers_only check from ClientContext to ClientReactor

* Remove unneeded change in client_context.cc
2021-05-25 17:43:21 -07:00
Yash Tibrewal 05c3b30ea0
Revert "Expose trailers-only response status through C++ callback API (#26249)" (#26363)
This reverts commit 393bae7e88.
2021-05-25 13:44:10 -07:00
Mark D. Roth edae7450f5
fix LOGICAL_DNS semantics (#26147)
* WIP: fix LOGICAL_DNS semantics

* fix tests and address FIXME

* clang-format

* add "dns:" prefix before creating resolver
2021-05-24 09:59:20 -07:00
Vijay Pai 393bae7e88
Expose trailers-only response status through C++ callback API (#26249)
* Expose trailers-only response status through callback API

* Fix change-detector test

* Address reviewer comment about trailers_only headers

* Add TODO requested by markdroth

* Move variable in struct to improve space efficiency

* Don't instantiate ExecCtx in channel_args destructor unless needed
2021-05-21 14:42:41 -07:00
donnadionne 2bb20d25a4
Revert "ring_hash LB policy implementation (#26285)" (#26303)
This reverts commit c55c7c065e.
2021-05-19 14:24:52 -07:00
Vijay Pai 0f80378a21
Resolve race between OnReadDone(ok=false) and IsCancelled (#26245)
* Resolve and test race between OnReadDone(ok=false) and IsCancelled

* Fix retry case

* Fix health check case

* Address reviewer comments.

* ADD TODO requested by markdroth
2021-05-19 14:05:46 -07:00
donnadionne c55c7c065e
ring_hash LB policy implementation (#26285)
* ring_hash LB policy (#25697)

* Ring Hash Policy implementation

* Code review comment fixing

* Fixing code review comments.

* Code review comment fixing

* Fixing reconnect logic

* adding helper method for pick

* Holding on to ref to parent

* first attempt at calling AttemptToConnect

* Fixing state change

* Fixing code review comments

* Fixing the reconnect from channel watcher code

* Fixing the BUILD to include new policy

* Fixing major code review suggestion

* Fixing code review comments

* Fixing code review suggestions

* Initial 2 tests.

* Adding channel id case.

* Fixing code review comments.

* Small change to get the spread of backends

* Add header hashing tests

* Added more tests and debugging

* Fixing Header hash

* Added more tests

* cleanup

* removing debugs

* Fixing code review comments.

* code review fixing

* combining code and match design

* fixing code review comments.

* Fixed IDLE case

* Moving tests

* Fixing code review comments

* Adding more tests according to code review comments.

* Added tests with differetn types of weights

* Adding terminal policy case

* Remove hash_func as there is only 1

* Added nack invalid hash function

* Added NACK cases

* fixing build error

* fixing build

* small warning

* adding regex test

* Adding policy tests

* fixing warning

* fixing warning

* fixing code reivew comments.

* fixing IDLE case

* Code review comments.

* fixing code review comments

* Making a helper function

* fixing reattempt case

* Added afew more tests.

* Adding more tests

* Added backward compatible test

* FIxing the reattempt test

* Clean up

* fixing clang error

* fixing clang error

* Fix logic discovered during code review

* code review comments

* code review comments

* code review comment

* clean up tests

* fixing code review comments

* clean up tests

* Separated test

* Fixing test

* fixing test

* fixing clang error

* Addressing code review suggestions

* Fixing last bit of code review comments

* Fixing flaky tests

* Fixing last bit of code review comments

* clean debugs

* Remove a verbose log

* Relaxing deadline exceeded for 1st RPC until ring is optimized.
Making Hash more efficient for random case.
2021-05-18 16:00:06 -07:00
Mark D. Roth 467c0d742c
fix xds resolver to add XdsClient to channel args even on errors (#26282) 2021-05-18 13:55:34 -07:00
donnadionne f36a31b6aa
Revert "ring_hash LB policy (#25697)" (#26238)
This reverts commit 2aefb26f5d.
2021-05-14 08:52:21 -07:00
donnadionne 2aefb26f5d
ring_hash LB policy (#25697)
* Ring Hash Policy implementation

* Code review comment fixing

* Fixing code review comments.

* Code review comment fixing

* Fixing reconnect logic

* adding helper method for pick

* Holding on to ref to parent

* first attempt at calling AttemptToConnect

* Fixing state change

* Fixing code review comments

* Fixing the reconnect from channel watcher code

* Fixing the BUILD to include new policy

* Fixing major code review suggestion

* Fixing code review comments

* Fixing code review suggestions

* Initial 2 tests.

* Adding channel id case.

* Fixing code review comments.

* Small change to get the spread of backends

* Add header hashing tests

* Added more tests and debugging

* Fixing Header hash

* Added more tests

* cleanup

* removing debugs

* Fixing code review comments.

* code review fixing

* combining code and match design

* fixing code review comments.

* Fixed IDLE case

* Moving tests

* Fixing code review comments

* Adding more tests according to code review comments.

* Added tests with differetn types of weights

* Adding terminal policy case

* Remove hash_func as there is only 1

* Added nack invalid hash function

* Added NACK cases

* fixing build error

* fixing build

* small warning

* adding regex test

* Adding policy tests

* fixing warning

* fixing warning

* fixing code reivew comments.

* fixing IDLE case

* Code review comments.

* fixing code review comments

* Making a helper function

* fixing reattempt case

* Added afew more tests.

* Adding more tests

* Added backward compatible test

* FIxing the reattempt test

* Clean up

* fixing clang error

* fixing clang error

* Fix logic discovered during code review

* code review comments

* code review comments

* code review comment

* clean up tests

* fixing code review comments

* clean up tests

* Separated test

* Fixing test

* fixing test

* fixing clang error

* Addressing code review suggestions

* Fixing last bit of code review comments

* Fixing flaky tests

* Fixing last bit of code review comments

* clean debugs

* Remove a verbose log
2021-05-13 12:55:23 -07:00
Mark D. Roth 4c40ee3f78
move parse_address and sockaddr_utils out of iomgr directory (#26077)
* move parse_address and sockaddr_utils out of iomgr directory

* clang-format

* fix python

* fix for import

* fix build file for import
2021-04-30 08:21:58 -07:00
Alisha Nanda 1b26c897c1
Fix build failures in xds_end2end_test (#26127) 2021-04-29 13:55:24 -07:00
donnadionne a994aad0b8
xds_end2end_test test infra: Eds Args refactoring and enhancing WaitForBackend (#26093)
* Refactoring EdsResourceArgs::Locality to have a vector of Endpoints:
port, health_status, and lb_weight.

As well, Adding RpcOption to WaitForBackend()

* Update WaitForBackend

* Modified WaitForBackend default param

* reuse SeenBackend

* Code review comments

* refactor WaitForAllBackend parameter list

* Fixing tests to ensure they are more strict;
Fixing test code according to code review comments.

* Fixing code review suggestions

* Increasing timeout for StressTest
2021-04-29 11:54:58 -07:00
Lidi Zheng 13e04b4b9c
Reduce xds_end2end_test's error tolerance to 0.05 (#25738)
* WIP sync API with 1.6k threads doesn't work

* Please don't fail

* Fix the tests

* Spread to DropTest

* Code clean-up and extend delay RPC timeout

* Address comments

* Address comments

* Deflake MSAN

* Make MSAN more robust && normal runs faster

* Address comments

* Remove the clock change in fault injection filter

* Polish comments && stricten the connection timeout
2021-04-28 17:47:09 -07:00
mkruskal-google 2bf75aa68a
Add optional suffix to client-side stub objects (#25996)
* Adding suffix for stats handling to gRPC

* Fixing typo

* Fixing codegen, adding tests

* Fixing test failures

* Adding nullptr default in StubOptions

* Updating golden test file

* Replacing std::make_unique with absl::make_unique for pre-C++14 compatibility

* Fixing clang format  errors

* Reuse stub options for generic stubs

* Cleaning up compiler warnings in GenericStub
2021-04-26 17:19:43 -07:00
Yash Tibrewal 4768210ec8
s/OnServingStatusChange/OnServingStatusUpdate (#26010)
* s/OnServingStatusChange/OnServingStatusUpdate

* Update python files
2021-04-26 15:36:35 -07:00
Esun Kim 460898f11c
Migrated from grpc_error_string to grpc_error_std_string (#26068)
* Added grpc_error_std_string
* Migrated to grpc_error_std_string
2021-04-23 16:31:54 -07:00
Esun Kim ca945a58e9
Introduced grpc_error_handle (#25902)
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
2021-04-22 12:00:28 -07:00
donnadionne 89f7e53dbc
Fixing flake in AllServerUnavailbleFailFast by increasing the RPC (#26015)
timeout from 1 second to 5: this ensures there is enough time for
communication with xDS server to get established.
2021-04-21 10:35:00 -07:00
donnadionne 5bce484c35
Fixing a buildifier warning, helping with future imports. (#26036) 2021-04-21 10:34:47 -07:00
Mark D. Roth feff79abc7
add test-only channel arg to set per-channel xDS bootstrap config (#25936)
* pass XdsClient to LB policies via channel args

* add channel arg for overriding bootstrap config on a per-channel basis

* change tests to use new channel arg approach -- currently failing for server-side tests

* use the same channel args approach on the server side

* clang-format

* fix CircuitBreakingMultipleChannelsShareCallCounter test

* fix XdsEnabledServerTest test

* add TODO

* clang-format

* generate_projects

* fix clang-tidy

* fix build

* attempt to fix python
2021-04-21 10:16:33 -07:00
Lidi Zheng 3a19648100
Increase RPCs in fault injection tests (#25984) 2021-04-16 14:37:28 -07:00
Lidi Zheng 2210819f85
Remove _xds suffix Bazel rules completely (#25980)
* Reduce the usage of _xds Bazel rules

* Inject DISABLED_XDS_PROTO_IN_CC to admin_services_end2end_test

* Remove _xds suffix Bazel rules completely

* Remove the _xds rules from imports

* Simplify the ifndef usage in admin_services_end2end_test
2021-04-15 12:50:00 -07:00
Yash Tibrewal 8028cc874d Reduce XdsServerFilterChainMatchTest flakiness (#25956) 2021-04-13 14:31:07 -07:00
Yash Tibrewal 3409eddcd1
xds-end2end-test server-side LDS updates cleanup (#25906) 2021-04-07 12:29:47 -07:00
Lidi Zheng 8eaaa3d7b6
Make ADS timeout increase from 500 to 2000 (#25844) 2021-04-01 12:03:55 -07:00
Yash Tibrewal 67886fbffa
xds_end2end_test ipv6 address format fix (#25837)
* xds_end2end_test ipv6 address format fix

* Update expected error string
2021-03-29 15:40:11 -07:00
Yash Tibrewal da6cf22e29
Increase the retry count for XdsServerSecurityTest (#25830) 2021-03-29 14:43:04 -07:00
Yash Tibrewal 53ba4a101e
Implement FilterChainMatch algorithm (#25757)
* Implement FilterChainMatch logic

* Add tests for transport protocol too

* Tests for duplicate NACKing

* Introduce ConnectionManager as an interface for config fetchers

* Do not parameterize IncrementIfNonZero

* Some formatting

* Reviewer comments

* Add filter chain match information for duplicate match error

* Reviewer comments

* Some cleanup

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Clang-tidy
2021-03-25 14:12:46 -07:00
Lidi Zheng 3652ec5db9
Apply the xds-specific Bazel rule to admin API (#25799) 2021-03-23 17:55:33 -07:00
donnadionne 4350d18d0f
Removing circuit_breaking and timeout environment variable guard to (#25793)
enable these features by default.
2021-03-23 17:04:46 -07:00
Lidi Zheng 4baf35f314
Remove fault injection environmental variable guard (#25792)
* Remove fault injection env guard

* Add the RejectsHttpFilterWithoutConfig test back
2021-03-23 16:49:30 -07:00
Lidi Zheng b457f43227
Implement C++ Admin Interface API (#25753)
* Implement C++ Admin Interface API

* Address reviewer's requests

* Remove static asserts for raw pointers

* Make sanity tests happy

* Windows: pacify conflict between ifndef and macros

* Disable admin services test on iOS

* Make iOS happy by:

* Letting grpcpp_admin conditionally depend on grpcpp_csds

* Fix an unexpected side-effect of dependency update
2021-03-23 09:53:12 -07:00
Lidi Zheng 1040fbdb9f
Re-introduce "CSDS Implementation" (#25762)
* Revert "Revert "CSDS Implementation (#25038)" (#25745)"

This reverts commit 98fd4e1e36.

* Add xDS special Bazel build rules

* Add 2 todos to remove the added rules
2021-03-22 13:14:19 -07:00
Lidi Zheng 98fd4e1e36
Revert "CSDS Implementation (#25038)" (#25745)
This reverts commit 27de24a38e.
2021-03-17 13:38:47 -07:00
donnadionne 26fd0ce3c9
Generating hash for ring_hash policy (#25415) 2021-03-16 18:24:35 -07:00
Lidi Zheng 27de24a38e
CSDS Implementation (#25038)
* Implement the xDS Config Dump as CSDS in Core

* Revemp the logic of caching and constructing the CSDS response
* Unref created error
* Fix the clang tidy complains
* Resolve comments about symbol preload and Json ctor
* Improve readability
* Merge with new ADS logic && support latest CSDS
  * Refactor the version/client_status logic
  * Add support for error_state
  * Add support for does_not_exist
  * Add node information
* Fix the ProtoBuf segfault
* More test cases
* Refactor to use bytes as cache instead of JSON

* Apply clang_tidy's suggestion

* Resolve reviewer's requests

* Tiny stylish fixes && make sanity test happy

* WIP: still working on the matchers

* Update a bunch of matchers

* Improve readability a bit

* Resolve reviewer's suggestions

* Resolve reviewer's comments

* Make Unpack fail fast
2021-03-16 18:17:37 -07:00
Yash Tibrewal a622fe2c97
xDS LDS parsing changes: NACK on use_original_dst (#25687)
* xDS LDS parsing changes: NACK on use_original_dst

* Reviewer comments

* Unused variable
2021-03-16 10:36:04 -07:00
Yash Tibrewal 7021b72d1f
Revert Revert Xds Status Notifier (#25718)
* Revert "Revert "xDS status notifier (#25321)" (#25702)"

This reverts commit 3c9f3972e3.

* Remove connection from map when OnClose is not registered

* Reviewer comments
2021-03-15 14:29:06 -07:00
Yash Tibrewal 3c9f3972e3
Revert "xDS status notifier (#25321)" (#25702)
This reverts commit 81e90432e1.
2021-03-12 08:54:34 -08:00
Mark D. Roth d2c2d66a03
xds: Ignore HTTP filters if LDS resource is v2. (#25694) 2021-03-11 17:05:16 -08:00
Lidi Zheng e34b0a73c6
Fix a typo in fault injection (#25693) 2021-03-11 14:47:39 -08:00
Yash Tibrewal e7536952a3
Filters parsing logic for servers (#25609)
* Filters parsing logic for servers
2021-03-10 21:30:37 -08:00
Yash Tibrewal 0e0bc355ce
xDS changes for server listener resource name template (#24965)
* xDS: Server listener resource name template changes

* Reviewer comments
2021-03-10 15:35:41 -08:00
Yash Tibrewal 8d95aad50c
Channelz security changes - Follow up from #25593 (#25624) 2021-03-10 10:36:11 -08:00
Esun Kim a41a206b8c
Fix readability-const-return-type,readability-delete-null-pointer,readability-simplify-boolean-expr (#25628) 2021-03-09 21:30:35 -08:00
Lidi Zheng 3b067c9f3f
Implement xDS client-side fault injection filter (#24354)
* Refactored with dynamic filters
* Error-tolerance tuned
* Fix leak of grpc_error and data race of canceller
* Adopt the latest xDS HTTP filter framework
* Fix fault injection tests' conflict with router filter
* Test alternative setup (override, no-override) without copy
* Refactor file strcutures of fault injection filter
* Rewrite the Json parsing/assembling logic again
* Added logic for aborting streaming RPC && resolve comments
2021-03-09 13:14:21 -08:00
Mark D. Roth 5d3fe59a5f
xds: Fix handling of HTTP filter that does not set typed_config. (#25651)
* xds: Fix handling of HTTP filter that does not set typed_config.

* same change for typed_per_filter_config
2021-03-09 12:37:47 -08:00
Yash Tibrewal 1c59e178f2
Some environments support only IPv6 addresses - followup from #25321 (#25656) 2021-03-09 10:32:10 -08:00
Yash Tibrewal 81e90432e1
xDS status notifier (#25321)
* Serving status notification for xds enabled servers
2021-03-08 21:47:13 -08:00
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 a214b52998
Disable channelz_service_test for iOS (#25639) 2021-03-05 14:27:30 -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 abf1e9a3c9
Add missing security field to channelz Socket (#25593)
* Add missing security field to channelz Socket
2021-03-03 23:29:50 -08:00
Jan Tattermusch 65454866da
use linkstatic for libraries that contain main() (#25517) 2021-02-27 07:01:48 +01: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
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
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 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
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
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
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
Donna Dionne 19b1f8f64a Cds Watchers changes to support aggregate Cds and Logical DNS Cds. 2021-01-21 14:25:50 -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
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
Mark D. Roth 8ddbc50272 change xDS certificate provider to contain a map by cluster 2021-01-12 10:51:50 -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
Mark D. Roth 1bc2d7d1a6 Remove StringLess and src/core/lib/gprpp/map.h. 2021-01-05 09:47:42 -08:00
Yash Tibrewal 9c043baf49 Allow the channelz service test to get different listen socket sizes 2020-12-21 12:57:10 -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 4105d2ce20 XdsServerBuilder, config fetching per resolved address and delaying bind/listen till fetch is complete 2020-12-16 12:15:52 -08:00
Donna Dionne 4f8ed98f3e Xds cluster resolver
Implemented new xds cluster resolver config
Separated policy and discovery mechanism
2020-12-14 16:05:15 -08:00
Yash Tibrewal c9e99945ec Add SANs matching for xDS credentials 2020-12-08 15:15:39 -08:00
ZhenLian 551009be68
Merge pull request #24805 from ZhenLian/zhen_dynamic_file_reloading_7
refactor PemKeyCertPair to take absl::string_view
2020-12-08 10:27:58 -08:00
Adam J Heller 91c4cbd51b
Merge pull request #24701 from drfloob/null-byte-uri-components
Convert URI parser to C++
2020-12-07 15:30:31 -08:00
AJ Heller 880a854f0e Convert URI parser to C++ #24701 2020-12-07 12:13:22 -08:00
ZhenLian de4e8a4680 refactor PemKeyCertPair 2020-12-07 12:10:45 -08:00
Mark D. Roth 8c12cc80e8
Merge pull request #24919 from markdroth/client_channel_remove_get_subchannel_call
Remove grpc_client_channel_get_subchannel_call().
2020-12-07 09:27:49 -08:00
Mark D. Roth e4faf1945d Remove grpc_client_channel_get_subchannel_call(). 2020-12-05 15:44:50 -08:00
Esun Kim 53ab235fb8 Fix google-explicit-constructor 2020-12-03 15:03:39 -08:00
Esun Kim 6c440e820b
Merge pull request #24841 from veblush/tidy-google-readability-casting
[Clang-Tidy] google-readability-casting
2020-12-03 14:49:45 -08:00
Mark D. Roth 0a84a1d0c7
Merge pull request #24813 from markdroth/client_channel_split1
Use separate mutexes and call queues for resolution and load balancing
2020-12-03 14:40:07 -08:00
Mark D. Roth a9d30fece6 Use separate mutexes and call queues for resolution and load balancing 2020-12-03 11:19:35 -08:00
Yash Tibrewal a6d9e49f27
Merge pull request #24843 from yashykt/insecureservercreds
Experimental API for xDS server credentials
2020-12-03 03:05:34 -08:00
Yash Tibrewal 096b2324e1 Experimental API for XdsServerCredentials 2020-12-01 12:47:52 -08:00
Yash Tibrewal b08861b60f Register certificate provider factories after init 2020-12-01 12:17:12 -08:00
Esun Kim 2ff84ed8c2 C++ cast for void* 2020-11-30 17:29:15 -08:00
Esun Kim ec0b88a5d7 Fix google-readability-casting 2020-11-30 17:27:51 -08:00
Yash Tibrewal f635d9deeb xds_end2end_test cleanup from #24643 2020-11-30 16:10:27 -08:00
Yash Tibrewal d7907e6ba1
Merge pull request #24835 from yashykt/filewatcherprovider
Update file watcher certificate provider factory with provider implementation
2020-11-30 15:42:31 -08:00
Esun Kim 75e3e660fd Fix google-readability-todo 2020-11-25 10:09:42 -08:00
Yash Tibrewal 82b158f249 Update file watcher certificate provider factory with provider implementation 2020-11-24 23:48:18 -08:00
Esun Kim c028e2f5cd Fix bugprone-integer-division 2020-11-24 13:15:31 -08:00
Yash Tibrewal ee2480abbd Add missing check_config release 2020-11-24 00:22:37 -08:00
Yash Tibrewal 33b4911a50 xDS client security integration 2020-11-20 17:37:27 -08:00
Mark D. Roth 07016f8191 Move resource generation out of ADS impl and into test suite class. 2020-11-13 16:14:43 -08:00
Donna Dionne 2dc58be3b5 Protect timeout feature under a flag and added testing. 2020-11-10 11:15:54 -08:00
Yang Gao 4ac9c6f755
Merge pull request #24693 from yang-g/remove_log
Remove hack for Xcode 10
2020-11-09 10:59:25 -08:00
Mark D. Roth 27e1c1c56d clang-tidy: enable google-readability-braces-around-statements 2020-11-06 13:41:44 -08:00
yang-g ec074a0df9 Remove hack for Xcode 10 2020-11-06 11:16:51 -08:00
capstan 131579d52d Roll forward of commit 7883b51: Use abseil's flags in tests.
This replaces gflags. Added TODOs where use of `absl::Duration` or `absl::FlagSaver` might be preferred in follow-up cleanup. Fixes #24493.

This reverts commit da66b7d14e.

NEW:
* Adds references to `absl/flags/declare.h`, new to LTS 2020923.2 imported in commit 5b43440.
* Works around MSVC 2017 compiler error with large help text on flags by reducing the help text.
2020-11-06 16:07:19 +01:00
Esun Kim 38472186b1 Disable XdsRoutingApplyXdsTimeout under Asan too 2020-10-29 12:00:36 -07:00
Richard Belleville 2ad3c0a041 Revert "Merge pull request #24568 from veblush/test-xds-abseil"
This reverts commit 9083de5017, reversing
changes made to 913760a6a9.
2020-10-28 15:22:20 -07:00
Richard Belleville acb198b961
Merge pull request #24585 from gnossen/fix_unused_return_value
Avoid internal build failure
2020-10-28 10:11:34 -07:00
Esun Kim dc9ef8fc39 Enable XdsRoutingApplyXdsTimeout again under TSAN 2020-10-27 19:48:48 -07:00
Richard Belleville 6ec512d0f1 Avoid internal build failure 2020-10-27 16:08:11 -07:00
Nathan Herring da66b7d14e
Revert "Abseil Flags" 2020-10-24 15:19:55 -07:00
Esun Kim 3528a40fe5
Merge pull request #24506 from Capstan/absl-flags
Abseil Flags
2020-10-23 21:07:21 -07:00
Yang Gao 01596014af
Merge pull request #24521 from yang-g/ip46
Check localhost is resolved to ipv4 or ipv6 and update test accordingly.
2020-10-23 16:30:17 -07:00
yang-g 8456e2138a Check localhost is resolved to ipv4 or ipv6 and update test accordingly. 2020-10-23 14:38:36 -07:00
Esun Kim 2089785b62 Disable XdsRoutingApplyXdsTimeout test under TSAN 2020-10-23 13:50:20 -07:00
capstan 7883b5133d Use abseil's flags in tests.
This replaces gflags. Added TODOs where use of `absl::Duration` or `absl::FlagSaver` might be preferred in follow-up cleanup. Fixes #24493.
2020-10-23 19:36:33 +02:00
Mark D. Roth ededb8e173
Merge pull request #24516 from markdroth/xds_nack_status
xds: Set status code to INVALID_ARGUMENT when NACKing.
2020-10-22 13:46:02 -07:00
Mark D. Roth 1f95593de7 xds: Set status code to INVALID_ARGUMENT when NACKing. 2020-10-21 14:09:50 -07:00
Yash Tibrewal 02ca015b13 Experimental support and tests for CreateCustomInsecureChannelWithInterceptorsFromFd 2020-10-21 13:34:26 -07:00
Mark D. Roth 8e84e63a83
Merge pull request #24481 from markdroth/xds_circuit_breaking_global_atomic
Use a global atomic for circuit breaking call counter.
2020-10-20 14:22:54 -07:00
Esun Kim aae4f4cf18 Fix by misc-unused-using-decls 2020-10-19 18:12:11 -07:00
Mark D. Roth b607080400 Use a global atomic for circuit breaking call counter. 2020-10-19 15:15:32 -07:00
Esun Kim bba8facb4a
Merge pull request #24456 from veblush/tidy-readability-redundant-smartptr-get
[Clang-Tidy] readability-redundant-smartptr-get
2020-10-19 09:54:15 -07:00
Mark D. Roth 1bb28c90b2
Merge pull request #24436 from markdroth/xds_resource_version
Fix xDS resource type version to persist across stream restarts.
2020-10-19 08:41:50 -07:00
Esun Kim 84df61b31a
Merge pull request #24453 from veblush/tidy-modernize-make-unique
[Clang-Tidy] Enable modernize-make-unique
2020-10-16 16:35:08 -07:00
Esun Kim 946ed32bac
Merge pull request #24454 from veblush/tidy-modernize-use-override
[Clang-Tidy] modernize-use-override
2020-10-16 16:33:29 -07:00
Mark D. Roth bce7bc78ab Fix xDS resource type version to persist across stream restarts. 2020-10-16 14:55:28 -07:00
Mark D. Roth dbe76ce6fd
Merge pull request #24434 from markdroth/xds_resource_version_test
Fix ADS server resource type version logic and refactor code.
2020-10-16 14:52:42 -07:00
Esun Kim 3fef4e7435 Fix by readability-redundant-smartptr-get 2020-10-16 14:16:42 -07:00
Esun Kim e7434d385e Fix by tidy-modernize-use-override 2020-10-16 14:01:06 -07:00
donnadionne ad66015c85
Merge pull request #24328 from donnadionne/timeout
Setting timeout in method config.
2020-10-16 13:43:25 -07:00
Esun Kim 6ae8463500 Fix by modernize-make-unique 2020-10-16 13:30:56 -07:00
Esun Kim f3cedfd357
Merge pull request #24437 from veblush/clang-tidy-abseil
[Clang-Tidy] Enable abseil-*
2020-10-16 12:21:51 -07:00
Donna Dionne a3ce1f745a Setting timeout in method config. 2020-10-16 11:37:52 -07:00
Mark D. Roth 63546c0faf Fix ADS server resource type version logic and refactor code. 2020-10-16 11:18:49 -07:00
Esun Kim ece76ee1e8 Fix code by readability-container-size-empty 2020-10-16 09:48:20 -07:00
Esun Kim a51fe3e675 Fix abseil-* clang-tidy errors 2020-10-16 09:39:41 -07:00
Esun Kim 09ace01cc1
Merge pull request #24193 from veblush/clang-tidy
Improve clang tidy to use compilation DB
2020-10-15 15:46:13 -07:00
Donna Dionne 5a25a427b5 Protecting the circuit breaking (drop action) using environment
variable. All the logic of refcounting are left but will not result in
any actions.  Test added to test protected case.
2020-10-13 10:04:13 -07:00
Esun Kim 6d6648c7e1 Fix clang-tidy errors 2020-10-13 09:51:31 -07:00
Mark D. Roth 50ed78d1f9
Merge pull request #24395 from markdroth/xds_load_stats_refs
Use a single instance of the drop and locality stats objects.
2020-10-12 16:47:06 -07:00
Mark D. Roth a6954fe39e Use a single instance of the drop and locality stats objects. 2020-10-12 14:14:52 -07:00
Mark D. Roth caf798e9ab xds: Add support for case_sensitive option in RouteMatch. 2020-10-09 14:49:23 -07:00
Yash Tibrewal 4013fd9dc9
Merge pull request #24313 from yashykt/xdscredscpp
C++ API to create Xds channel credentials
2020-10-08 22:27:21 -07:00
Yash Tibrewal c52cb09f47 Add experimental XdsCredentials with support for insecure channel_credentials and security_connector 2020-10-08 20:37:47 -07:00
Esun Kim 8e9e895ffc Replace grpc_shutdown_blocking with grpc_shutdown 2020-10-08 10:57:05 -07:00
Vijay Pai 37a09aaae3 Remove unused experimental stub format 2020-10-06 17:41:20 -07:00
Mark D. Roth 799e805e8a Move locality load reporting to EDS policy. 2020-10-02 11:16:01 -07:00
Mark D. Roth 8c142a1d8c
Merge pull request #24299 from markdroth/xds_test_crash_fix
Don't try to use global xds channel args after they've been destroyed.
2020-10-01 09:59:17 -07:00
Mark D. Roth dcc94158ac Don't try to use global xds channel args after they've been destroyed. 2020-10-01 07:10:32 -07:00
Donna Dionne ea4cb41bd2 Remove unused variable. 2020-09-30 10:08:56 -07:00
Mark D. Roth 537467eb0e
Merge pull request #24258 from markdroth/service_config_parser_channel_args
Allow channel args to modify service config parsing behavior.
2020-09-30 08:17:46 -07:00
Donna Dionne e7d7b7de86 xDS circuit breaking support 2020-09-29 14:47:39 -07:00
Mark D. Roth b62d5c7eaa Allow channel args to modify service config parsing behavior. 2020-09-29 13:13:26 -07:00
Mark D. Roth efb38591ac
Merge pull request #24239 from markdroth/xds_client_shared
Share XdsClient between channels
2020-09-28 08:07:02 -07:00
Mark D. Roth 1ba51dcb1a Share XdsClient between channels. 2020-09-27 15:26:28 -07:00
Mark D. Roth 2fe1a5cd0a Add missing const_cast<>. 2020-09-25 10:00:32 -07:00
Mark D. Roth 5e30156069
Merge pull request #24201 from markdroth/xds_client_no_parent_channel_args
Stop propagating parent channel args into xDS channel.
2020-09-25 07:49:25 -07:00
Esun Kim 1c7d5b5299 Fix MSAN adjustment 2020-09-23 18:22:10 -07:00
Mark D. Roth 7baf55e473 Stop propagating parent channel args into xDS channel. 2020-09-23 15:09:07 -07:00
Mark D. Roth 6ea7e4dd16 Fix channel to apply new ConfigSelector even if ServiceConfig hasn't changed. 2020-09-18 18:05:37 -07:00
Mark D. Roth f7a72b040d Pass address to CreateSubchannel() and expose attributes in SubchannelInterface. 2020-09-17 14:51:25 -07:00
Mark D. Roth a11e4df082
Merge pull request #24114 from markdroth/config_selector_error_handling2
Simplify service config processing and fix config selector handling.
2020-09-16 15:04:59 -07:00
Mark D. Roth 4bb00c25c0 Fix cut-and-paste error and change test to catch this kind of bug. 2020-09-16 10:12:12 -07:00
Mark D. Roth 84c8f7051a Simplify service config processing and fix config selector handling. 2020-09-15 16:49:52 -07:00
Mark D. Roth 5107e65a93 Stop setting PROXYLESS_CLIENT_HOSTNAME node metadata in LRS request. 2020-09-15 14:55:17 -07:00
Donna Dionne fa4f131a85 Increasing failover time to avoid errors like
I0914 19:15:38.606657832 40 priority.cc:658] [priority_lb 0x611000009b40] child child2 (0x613001702bc0): failover timer fired, reporting TRANSIENT_FAILURE

Should prevent flakes in InitialUnavailable tests

Note: test had to be modified to reproduce more easily, will monitor the
test after this fix to ensure problem does not appear again.
2020-09-15 10:47:54 -07:00
Mark D. Roth ae0cc5052b
Merge pull request #24150 from markdroth/xds_eds_duplicate_update_fix
Fix EDS update equality check.
2020-09-15 07:32:52 -07:00
Mark D. Roth 414405d6ae Fix EDS update equality check. 2020-09-14 16:40:56 -07:00
Donna Dionne 5c242f0577 Fixing flake in DeadUpdate
It is observed that ADS is shutdown, but it's possible that
a request still comes in.

This request should not update the ADS resource_type_response_state_ as
they were cleared by the shutdown.

This fix ensures this.
2020-09-13 12:51:37 -07:00
Donna Dionne ffb560090a Moving XDS Routing functionalities from LB policy into XdsConfigSelector 2020-09-11 15:44:10 -07:00
Donna Dionne 2d10cd4d26 Ensure SendRpc is not called without checking return value; use
CheckRpcSendOk to wrap it.
2020-09-09 17:37:00 -07:00
Donna Dionne 1b1a41df5d New Tests to guard against regression when routing and weighted target
logic are moved from policies to XdsConfigSelector:

1. Cluster update test: we never had a test that explicitly updated
clusters multiple times.
2. A cluster update test that includes long running RPCs, in particular,
RPCs not yet committed.
2020-09-08 12:20:56 -07:00
Mark D. Roth 5adf794eec Increase polling timeout for NoMatchedDomain test. 2020-08-25 07:18:52 -07:00
Mark D. Roth 91b698d232 Revert "Merge pull request #23969 from grpc/revert-23918-xds_virtual_host_validation"
This reverts commit 13b5f0b625, reversing
changes made to 9ea2d7c89d.
2020-08-25 07:03:28 -07:00
donnadionne 4cb21ff819
Revert "xds: Don't identify the needed VirtualHost at validation time." 2020-08-24 21:46:00 -07:00
Mark D. Roth b0a8b4606c xds: Don't identify the needed VirtualHost at validation time. 2020-08-21 11:39:35 -07:00
Mark D. Roth 9a39f172a6 xds: NACK if response includes duplicate resource names. 2020-08-20 16:17:57 -07:00
Jan Tattermusch afda101854 cleanup bazel commands in test scripts (for non-RBE invocations) 2020-08-20 12:22:09 +02:00
Donna Dionne dc7f926b9e Fixing the transient failure that occurs during the case
where CDS response missing a resource that we have newly requested
(the resource will likely be contained in subsequent responses).
2020-08-19 10:25:02 -07:00
Mark D. Roth bd73844208 Move parse_address library from client_channel to iomgr. 2020-08-18 11:23:06 -07:00
Yash Tibrewal bef69db1a6 A bit of cleanup 2020-08-17 16:24:40 -07:00
Vijay Pai c2d2220ba5 Make MaybeExpect guarantee at-most-once and allow Verify reuse 2020-08-14 10:30:48 -07:00
Karthik Ravi Shankar cfd1069ae0 Fix formatting 2020-08-13 14:25:43 -07:00
Karthik Ravi Shankar 242b1b87f8 Merge branch 'master' into flaky-fix 2020-08-13 14:25:27 -07:00
Vijay Pai 6040d621bd Fix destruction order bug in nested lock test 2020-08-12 09:44:49 -07:00
Karthik Ravi Shankar 218c5fd235 Mark client_crash_test as flaky
This test fails under asan.
2020-08-11 16:00:13 -07:00
Mark D. Roth d926e1ca47 Move XdsClient code out of client_channel tree. 2020-08-07 08:21:09 -07:00
Yash Tibrewal d35c1c13cd
Merge pull request #23636 from yashykt/settingsdeadline
Receive SETTINGS frame on clients before declaring subchannel READY
2020-08-03 14:04:02 -07:00
Yash Tibrewal e310d4366c Receive SETTINGS frame on clients before declaring subchannel READY 2020-07-31 02:01:40 -07:00
ashithasantosh cd9a127502
Merge pull request #23489 from michaelywg/endpoint_local_accessor
modified grpc_endpoint vtable and implementations
2020-07-30 13:54:16 -07:00
Esun Kim 79adbe59d5
Merge pull request #23673 from veblush/msan-fix
Add TestEnvironment to tests
2020-07-29 21:20:59 -07:00
Esun Kim f2374fb591 Add TestEnvironment to tests 2020-07-29 19:29:55 -07:00
Donna Dionne 33c128e99e Fixing a flaky test in ClientLoadReportingWithDropTest 2020-07-29 17:27:23 -07:00
Mark D. Roth 60283a1085
Merge pull request #23582 from markdroth/grpclb_authority
Remove TargetAuthorityTable in favor of a per-address channel arg.
2020-07-29 15:18:13 -07:00
Michael Wang c6586f087f implemented get_local_address accessor for grpc_endpoint 2020-07-29 19:39:22 +00:00
Vijay Pai 5488e7b5cd
Merge pull request #23478 from grpc/vjpai-patch-1-1
Avoid unused variables
2020-07-28 12:51:49 -07:00
Vijay Pai 9c5a39c6db Revert "Merge pull request #23361 from vjpai/em_agnostic_core_callback_cq"
This reverts commit a46cb5e86a, reversing
changes made to b5d42e75fb.
2020-07-28 09:55:43 -07:00
Vijay Pai bcb6530717 Revert "Merge pull request #23430 from vjpai/remove_do_not_test"
This reverts commit 08d737abf8, reversing
changes made to 6dc44b33c7.
2020-07-28 09:55:17 -07:00
Mark D. Roth 181781387d xDS v3 support 2020-07-23 10:20:55 -07:00
Mark D. Roth c35a37d6c2 Remove TargetAuthorityTable in favor of a per-address channel arg. 2020-07-23 08:23:05 -07:00
Donna Dionne 0d6ee9b309 Implement fake and ignored headers.
Take care to ensure we use fake headers in testing so we don't
conflict with headers used by census.
2020-07-20 12:34:02 -07:00
Mark D. Roth e681f37054 Remove env var protection of new xds routing code. 2020-07-20 07:59:07 -07:00
Karthik Ravi Shankar d7565c37a8 Revert "Adding Fake headers for header matching."
This reverts commit 8c013bfcdc.
2020-07-17 16:39:05 -07:00
Mark D. Roth fc5bd60f16 Concatenate duplicate header keys for matching. 2020-07-15 15:48:32 -07:00
Donna Dionne 8c013bfcdc Adding Fake headers for header matching. 2020-07-15 13:14:19 -07:00
Vijay Pai 612a3dfa10
clang-format 2020-07-14 14:10:54 -07:00
Vijay Pai bec17c1dd3
Avoid unused variables 2020-07-14 14:09:09 -07:00
Vijay Pai d03daab509
Remove unused variable (fixes builder error) 2020-07-09 16:28:14 -07:00
Vijay Pai 08d737abf8
Merge pull request #23430 from vjpai/remove_do_not_test
Remove references to skipping callback API tests
2020-07-09 15:57:35 -07:00
Muxi Yan 3b2e473548
Merge pull request #22345 from muxi/grpclb-name-config
Update grpclb configuration with field "service_name"
2020-07-09 13:32:55 -07:00
Vijay Pai e1a45fb237 Remove references to skipping callback API tests 2020-07-09 11:45:01 -07:00
Muxi Yan 232756e7bf Remove unnecessary RPC 2020-07-09 09:37:05 -07:00
Vijay Pai a46cb5e86a
Merge pull request #23361 from vjpai/em_agnostic_core_callback_cq
EM-agnostic core callback CQ
2020-07-09 09:35:49 -07:00
Vijay Pai 407fdc3a36 Fix data race in RpcWithEarlyFreeRequest by using atomics 2020-07-08 22:18:40 -07:00
Vijay Pai c6c05910c2 Fix data race in RpcWithEarlyFreeRequest by using atomics 2020-07-08 22:17:54 -07:00
Muxi Yan fa28bab456 Address comments 2020-07-08 16:56:21 -07:00
Vijay Pai 7ee2bc6db5 EM-agnostic callback completion queue 2020-07-08 16:12:23 -07:00
Mark D. Roth a5120b90ba
Merge pull request #23417 from markdroth/lb_policy_path
Make request path more easily visible to LB policies.
2020-07-08 14:57:29 -07:00
Vijay Pai 17b4879677
Merge pull request #23416 from vjpai/ccet
Make sure that some test ops don't start concurrently with Finish
2020-07-08 13:39:01 -07:00
Mark D. Roth 7c3fefea3f Make request path more easily visible to LB policies. 2020-07-08 12:12:30 -07:00
Vijay Pai fe2e9d6803 Properly count messages sent 2020-07-08 09:06:47 -07:00
Mark D. Roth 3201d7f7bf
Merge pull request #23157 from markdroth/gpr_asprintf
Replace most uses of gpr_asprintf() with absl calls.
2020-07-07 16:01:48 -07:00
Vijay Pai 0ab6db4fe8 Make sure that some ops don't start concurrently with Finish 2020-07-07 14:48:12 -07:00
Donna Dionne 8dd0cb4712 Add support for xDS regex matchers. 2020-07-07 13:17:25 -07:00
Muxi Yan ec2cd96426 Address comments 2020-07-07 13:13:38 -07:00
Muxi Yan 3f684093d7 Add test for the new config field 2020-07-07 13:13:37 -07:00
Mark D. Roth 9404f66f70 Replace most uses of gpr_asprintf() with absl calls. 2020-07-07 12:01:02 -07:00
Donna Dionne 459b58ae3d Merge remote-tracking branch 'upstream/master' into matcher_new 2020-07-06 12:54:56 -07:00
Esun Kim 8d0e703393
Merge pull request #22813 from mehrdada/fix-static-initialization-crap
Fix channelz plugin initializer
2020-07-06 11:19:05 -07:00
Donna Dionne 60b878d3a5 New Matchers Implementation
- All except for Regex (which will be submitted with RE2 import PR)
2020-07-06 10:54:22 -07:00
yang-g 162fca110c Fix message_allocator_e2e_test 2020-07-01 09:39:14 -07:00
Esun Kim 165ee5007a Replaced grpc::string with std::string 2020-06-29 17:56:36 -07:00
Vijay Pai 84cf666014
Merge pull request #23229 from grpc/revert-23116-revert-23005-asyncwrite
Roll-forward: Fix StartCall: make corking work and allow concurrent Start*
2020-06-17 00:31:56 -07:00
Vijay Pai 7eebba3781 Fixes needed to make roll-forward of StartCall and corking work 2020-06-16 13:06:16 -07:00
Vijay Pai 278671072f
Revert "Revert "Fix StartCall: make corking work and allow concurrent Start*"" 2020-06-16 12:20:19 -07:00
Donna Dionne 97904d77a4 Adding the printing of error message when unexpected status returns. 2020-06-16 11:03:12 -07:00
Vijay Pai a379951943
Merge pull request #23202 from vjpai/flaky
Fix flaky_network_test
2020-06-13 01:12:06 -07:00
Vijay Pai 5a2f60d137 Allow skipping canceled check 2020-06-12 15:29:49 -07:00
Donna Dionne b35b463a08 reject RouteConfiguration with a case-insensitive RouteMatch 2020-06-12 15:19:32 -07:00
Vijay Pai 8c27a5e37e
Merge pull request #23187 from vjpai/end2end
Increase reconnect sleep time in end2end_test to 5x poller interval
2020-06-11 16:37:40 -07:00
Vijay Pai fa1c66852b Increase reconnect sleep time to 5x poller interval 2020-06-11 14:47:53 -07:00
Vijay Pai b269fdbf8b Don't mark server RPC canceled if finished with non-OK status 2020-06-11 10:15:05 -07:00
Mark D. Roth 3f0eb8ae77
Merge pull request #23117 from markdroth/xds_resource_removal_crash_fix
Fix use-after-free bug for ResourceState of unsubscribed RDS resource.
2020-06-03 07:15:17 -07:00
Mark D. Roth 21ee2335d2 Fix use-after-free bug for ResourceState of unsubscribed RDS resource. 2020-06-02 14:01:04 -07:00
Karthik Ravi Shankar 11c54ada0d
Revert "Fix StartCall: make corking work and allow concurrent Start*" 2020-06-02 11:11:06 -07:00
Mark D. Roth c566b0f7af
Merge pull request #23105 from markdroth/xds_uri_scheme
Support xDS via both "xds" and "xds-experimental" URI schemes.
2020-06-02 09:26:21 -07:00
Mark D. Roth d2646941b0 Fix xds_end2end_test to not set the response state back to SENT. 2020-06-01 15:03:22 -07:00
Mark D. Roth d674fa3e37 Support xDS via both "xds" and "xds-experimental" URI schemes. 2020-06-01 14:39:37 -07:00
Donna Dionne 44eb8a6def Putting in a temp fix for flaky tests.
Temporiarly increase tolerance for small load of RPCs
2020-05-29 13:19:29 -07:00
Mark D. Roth 832da8bd26
Merge pull request #22926 from markdroth/xds_cds_resource_does_not_exist
xds: Put channel in TRANSIENT_FAILURE when CDS resource is removed.
2020-05-26 08:28:36 -07:00
donnadionne 260b0528ba
Merge pull request #22983 from donnadionne/ignore
Default Route matcher checking:
2020-05-21 10:24:19 -07:00
Vijay Pai cf0727665d
Merge pull request #23005 from vjpai/asyncwrite
Fix StartCall: make corking work and allow concurrent Start*
2020-05-20 13:50:08 -07:00
Donna Dionne 12821db7f8 Merge remote-tracking branch 'upstream/master' into ignore 2020-05-20 11:21:35 -07:00
donnadionne efb83983b8
Merge pull request #22934 from donnadionne/features
Allowing the default route to be weighted_clusters; this support is
2020-05-20 10:54:37 -07:00
Vijay Pai 899cbcab96 Fix StartCall: make corking work and allow concurrent Start* 2020-05-20 10:02:22 -07:00
Donna Dionne 2ec96be5db Default Route matcher checking:
- if xds routing is disabled: only allow matcher to be empty or single
slash( same behaviour as 1.28)
- if xds routing is enabled: ignore all supported path matchers and reject
all unsupported path matchers
2020-05-18 14:55:44 -07:00
Mark D. Roth 2ba3f8e7f9 Trigger xds routing support via env var instead of channel arg. 2020-05-15 09:11:34 -07:00
Donna Dionne ec5f805e34 Allowing the default route to be weighted_clusters; this support is
already there, adding a test to prove that it's working.
2020-05-12 15:55:56 -07:00
Donna Dionne 9ad561c436 Integrating weighted target policy into xds routing policy 2020-05-12 13:52:10 -07:00
Mark D. Roth 0db28f7eaf xds: Put channel in TRANSIENT_FAILURE when CDS resource is removed. 2020-05-11 14:45:40 -07:00
Mark D. Roth 581751b65b xds: When listener does not exist, put channel in TRANSIENT_FAILURE. 2020-05-08 11:46:53 -07:00
Vijay Pai 29151efd34
Merge pull request #22837 from vjpai/channel_acec
Fixes on ApplicationCallbackExecCtx
2020-05-07 17:06:28 -07:00
Vijay Pai 611dccb492 Add a test without WritesDone and reorder destruction 2020-05-07 13:10:51 -07:00
Vijay Pai 113c7fcb7c
Mark override on service method 2020-05-07 08:35:24 -07:00
Donna Dionne 7fe44d8b1e Fixing a build error
A parameter has been removed, but the next PR merged cleanly while still
using the removed parameter.
2020-05-06 17:05:13 -07:00
Mark D. Roth 7b3590d543
Merge pull request #22854 from markdroth/xds_lrs_send_all_clusters
xds: Add support for send_all_clusters field in LRS.
2020-05-06 09:33:41 -07:00
Donna Dionne ac50289274 Modify the signature of all SetXdsResource methods to avoid un-necessary
parameter "name".
2020-05-04 17:14:54 -07:00
Mark D. Roth b95843c1b7 xds: Add support for send_all_clusters field in LRS. 2020-05-04 11:16:52 -07:00
Yash Tibrewal e291ef8bf9
Merge pull request #22746 from yashykt/fixfailsendmsg
Fix interceptor batch method FailHijackedRecvMessage for async APIs
2020-05-01 10:45:57 -07:00
Mark D. Roth 72a42151ed xds: Check RDS ConfigSource in LDS response. 2020-05-01 07:27:02 -07:00
Donna Dionne 092932b4dd Squash the last 2 commits. 2020-04-30 14:57:29 -07:00
Mark D. Roth d29865bb44
Merge pull request #22833 from markdroth/grpclb_status_fix
grpclb: Add test showing that backend status is returned to client.
2020-04-30 13:09:17 -07:00
Donna Dionne 9793af2b09 Consolidating LDS and RDS tests together
And refactoring the code to be able to reuse the same helper methods.

Updating all tests to use helper methods.
2020-04-30 11:55:02 -07:00
Mark D. Roth 0324afa89e grpclb: Add test showing that backend status is returned to client. 2020-04-30 10:28:17 -07:00
Mark D. Roth 1e9dc62db8 weighted_target: Create all children before updating any of them. 2020-04-30 07:34:50 -07:00
Mehrdad Afshari d9e3a49fe1 Fix server_builder_plugin_test 2020-04-28 20:18:01 -07:00
Muxi Yan eaadbd40bb
Merge pull request #22801 from grpc/revert-22794-revert-22778-fix-client-lb-end2end-tests
Revert "Revert "Fix client_lb_end2end_test flake""
2020-04-27 21:28:58 -07:00
Muxi Yan 2ade1dbe89 Fix client_lb_end2end_test flake 2020-04-27 16:38:41 -07:00
Mark D. Roth 8a14958980
Merge pull request #22729 from markdroth/absl_string_view_host_port
Remove StringViewToCString() and src/core/lib/gprpp/string_view.h
2020-04-27 14:21:09 -07:00
Mark D. Roth d74548e611 Remove StringViewToCString() and src/core/lib/gprpp/string_view.h 2020-04-27 12:28:28 -07:00
Muxi Yan 23c8cfcfda
Merge pull request #22794 from grpc/revert-22778-fix-client-lb-end2end-tests
Revert "Fix client_lb_end2end_test flake"
2020-04-27 12:23:50 -07:00
Mark D. Roth f0e2a43b1a
Merge pull request #22708 from markdroth/absl_string_view
Remove grpc_core::StringView.
2020-04-27 12:15:22 -07:00
donnadionne 7846840841
Merge pull request #22787 from donnadionne/policy_name
Ensuring each action is only generated once in service config, even
2020-04-27 09:33:36 -07:00
Mark D. Roth fc6f26c89b Remove grpc_core::StringView. 2020-04-27 07:46:13 -07:00
Jan Tattermusch f091a66999
Revert "Fix client_lb_end2end_test flake" 2020-04-27 13:02:37 +02:00
Donna Dionne 326a81bf87 Ensuring each action is only generated once in service config, even
if the same one is referred to multiple times by routes.

Added this test case in existing test case.
2020-04-25 23:04:35 -07:00
Donna Dionne 0ce79a560b Revert a change to XdsTest/ClientLoadReportingWithDropTest
This test was a bit flaky, but after the change, the msan runs are
failing more often.

Reverting the change while investigating futher
2020-04-25 20:54:05 -07:00
Muxi Yan 4f9425086b Fix client_lb_end2end_test flake 2020-04-24 16:15:43 -07:00
Mark D. Roth d39c981d4f
Revert "Remove StringLess and src/core/lib/gprpp/map.h" 2020-04-24 10:32:15 -07:00
donnadionne 56a3af5927
Merge pull request #22761 from donnadionne/vanilla
Fixing xds_end2end_test.cc: ClientLoadReporting Vanilla tests
2020-04-24 09:24:55 -07:00
Donna Dionne 0452c2a0cb Fixing xds_end2end_test.cc: ClientLoadReporting Vanilla tests
1. sometimes the StreamLoadStats service (in a separate thread) is not
    ready when we check to see if it has received and responded to request;
    moving the check to a bit later after we know that it has processed a
    report.
    2. Drop test numbers can fall out of range by little bit: 366 > 360.6;
    increasing traffic to smooth the result (this fix has been effective for
    other similar flakes)
2020-04-23 15:43:30 -07:00
Mark D. Roth c0f82fc595 Remove StringLess and src/core/lib/gprpp/map.h 2020-04-23 14:45:54 -07:00
Donna Dionne a7d9865961 Fixing xds_end2endtest.cc BackendsRestart flake test
Increase the number of RPCs after shutdown to ensure all
backends are down before restarting.
2020-04-23 10:10:07 -07:00
Yash Tibrewal edbae5d8e6 Fix interceptor batch method FailHijackedRecvMessage for async APIs 2020-04-22 23:05:57 -07:00
Yash Tibrewal c3f5c02276 Merge branch 'master' into uselogicalthread 2020-04-21 01:11:39 -07:00
Vijay Pai 5085805063
Remove some excessive logs 2020-04-17 13:22:11 -07:00
Donna Dionne 7db619ba95 Code review comments. 2020-04-17 11:19:19 -07:00
Donna Dionne 424e81eaec Code Review comments 2020-04-16 15:47:26 -07:00
Donna Dionne 584b35055e Merge remote-tracking branch 'upstream/master' into route_response 2020-04-16 13:10:15 -07:00
Donna Dionne 8bab28db08 Rearrange test_service_impl.h/cc to fix build failures. 2020-04-16 12:20:57 -07:00
Donna Dionne 63573b0515 Fixing a flaky test. 2020-04-15 17:33:31 -07:00
Yash Tibrewal fdd4496117 Merge branch 'master' into uselogicalthread 2020-04-15 15:44:58 -07:00
Donna Dionne 71aef940c3 Code review comments: added invalid config tests and restructured
testing code.
2020-04-15 13:09:03 -07:00
Mark D. Roth bf6e534714 Accept either "" or "/" as the prefix for the default route. 2020-04-15 09:24:55 -07:00
Donna Dionne 84b2b98af2 clang fix 2020-04-14 13:07:23 -07:00
Donna Dionne 3135d9751a Fixing a test after merge 2020-04-14 13:06:16 -07:00
Donna Dionne a70abab157 Merge remote-tracking branch 'upstream/master' into route_response 2020-04-14 12:53:18 -07:00
Donna Dionne b39feead62 Fixing code review comments. 2020-04-14 12:42:17 -07:00
Mark D. Roth cbf18222af
Merge pull request #22648 from markdroth/xds_remove_old_flow
xds: Remove fallback code and support for old xds LB configs.
2020-04-14 11:45:12 -07:00
Donna Dionne 921147d1aa clang change 2020-04-14 01:02:57 -07:00
Donna Dionne 9417b28bca Fixing build issues. 2020-04-14 00:44:47 -07:00
Donna Dionne 019b206926 Fixing CR comments and build errors. 2020-04-14 00:04:31 -07:00
Yash Tibrewal 00458b3851 Merge branch 'master' into uselogicalthread and address reviewer
comments
2020-04-13 23:26:14 -07:00
Donna Dionne 6ec6c24dc1 Fixing code review comments. 2020-04-13 22:16:42 -07:00
Muxi Yan 317a55dd7e
Use correct status code type 2020-04-13 11:47:15 -07:00
Mark D. Roth dc976d2a77 xds: Remove fallback code and support for old xds LB configs. 2020-04-13 11:09:36 -07:00
Donna Dionne ddb98d6b52 Fixing code review comments:
- added more tests and improved structuring of backend service
- fixing grpc_tool tests (due to adding of new test serices/methods
2020-04-12 16:28:39 -07:00
Donna Dionne 1ae804c8c0 Fixing code review comments:
- Fixing for comments in all except for test file
- Multi-purpose test_service_impl.h as oppose
to creating new files.
2020-04-11 21:39:40 -07:00
Donna Dionne 0a7b9dac06 Fixing code review comments. 2020-04-10 03:15:09 -07:00
Donna Dionne 8a8ca5436b Added grpc arg to enable xds routing and restore old tests. 2020-04-10 01:26:05 -07:00
Donna Dionne c4d4541af5 Added TestMultipleServiceImpl.h: a templated test service to allow
multiple RPC services to be used in test.
2020-04-09 22:49:57 -07:00
Donna Dionne f5fd631a9c Merge remote-tracking branch 'upstream/master' into route_response 2020-04-09 11:10:28 -07:00
Donna Dionne d9611cf1ca Fixed AllServerUnavailableFailFast test to return UNAVAILBLE instead
UNKNOWN.
2020-04-08 16:20:16 -07:00
Mark D. Roth c3fc65c9e0 Don't NACK EDS updates with no localities, but report TRANSIENT_FAILURE. 2020-04-08 07:29:45 -07:00
Donna Dionne 0c2f9565f4 Fixing code review comments 2020-04-07 22:08:54 -07:00
Mark D. Roth f8f6034d1a Refactor xds LB policy 2020-04-07 14:03:01 -07:00
Donna Dionne f3f11cc21c Added new RPC methods to test routing different RPCs to different
backends.
2020-04-06 23:21:02 -07:00
Donna Dionne c0c7f1dae3 Fix build and test failures
Including the following
All all needed BUILD changes to include new xdsRouting
Fixed TSAN errors
AllServerUnavailableFailFast may return UNKNOWN as oppose UNAVAILABLE
ChooseLastRoute modified into 2 tests
2020-04-06 16:05:04 -07:00
Mark D. Roth e3b1c4335d
Merge pull request #22536 from markdroth/grpclb_load_reporting_test_flake
Fix flakiness in grpclb SingleBalancerWithClientLoadReportingTest.Vanilla test.
2020-04-01 13:21:10 -07:00
Mark D. Roth bac25901d7 Fix flakiness in grpclb SingleBalancerWithClientLoadReportingTest.Vanilla test. 2020-04-01 10:48:17 -07:00
Mark D. Roth 5b087c9d8b
Merge pull request #22535 from markdroth/grpclb_end2end_test_flake
Fix flakiness in grpclb_end2end_test ReresolveDeadBalancer test case.
2020-04-01 10:42:46 -07:00
Mark D. Roth 85571e4c77
Merge pull request #22525 from markdroth/xds_lrs_fix
Report RPC failures to LB recv_trailing_metadata callbacks.
2020-04-01 07:58:56 -07:00
Mark D. Roth dcdd04fcaa Fix flakiness in grpclb_end2end_test ReresolveDeadBalancer test case. 2020-04-01 07:49:52 -07:00
Donna Dionne 0306829596 Merge remote-tracking branch 'upstream/master' into route_response 2020-03-31 17:38:16 -07:00
Mark D. Roth df27e42372 Report RPC failures to LB recv_trailing_metadata callbacks. 2020-03-31 14:44:45 -07:00
Mark D. Roth 03411d7be7 Second attempt: grpclb stabilization 2020-03-31 07:52:44 -07:00
Donna Dionne f487d1be61 Addressing code review comments. 2020-03-30 23:31:54 -07:00
Mark D. Roth 0c1414f1c9
Merge pull request #22502 from markdroth/xds_drop_all_fix
xds: don't report TRANSIENT_FAILURE when we're told to drop all
2020-03-30 08:02:58 -07:00
Mark D. Roth 0e1c63a7a1 xds: don't report TRANSIENT_FAILURE when we're told to drop all 2020-03-27 15:05:07 -07:00
Vijay Pai 32a33ae2b1 Properly set thread-local variable indicating nonblocking test 2020-03-27 13:14:36 -07:00
Mark D. Roth fcd8bbd34c minor cleanups in xds_end2end_test 2020-03-27 09:07:24 -07:00
Mark D. Roth f33570f576
Merge pull request #22493 from markdroth/xds_eds_empty_locality
xds: Add tests showing that we do not use localities with no endpoints.
2020-03-27 07:16:50 -07:00
Mark D. Roth 652b5a8673 xds: Add tests showing that we do not use localities with no endpoints. 2020-03-26 15:48:55 -07:00
Yash Tibrewal a2df32e657 Merge branch 'master' into uselogicalthread 2020-03-25 20:57:31 -07:00
Mark D. Roth 38f02d8e2b xds: NACK EDS update with sparse priorities 2020-03-25 09:31:47 -07:00
Donna Dionne ac79383583 Debugging xds_end2endtest DropTest Update by sending more initial
traffic.
2020-03-23 11:35:55 -07:00
Mark D. Roth 343b5403df xds: Send RDS request when retrying ADS call. 2020-03-23 07:55:18 -07:00
Donna Dionne 70ac4b6418 Basic Parsing, building service config, and Picking are all exercised
with basic tests.
2020-03-23 00:34:14 -07:00
donnadionne 241277ca5b
Merge pull request #22425 from donnadionne/err_msg
Debugging xds_end2endtest LocalityMap UpdateMap by sending more traffic
2020-03-19 16:56:33 -07:00
Donna Dionne d8fc6bd4c6 Addressing code review comments. 2020-03-19 14:31:37 -07:00
Donna Dionne f9f59ba222 Debugging xds_end2endtest LocalityMap UpdateMap by sending more traffic
The test is failing due to the backend not getting the expected amount
of traffic by a small margin.

Increasing traffic and adding debugs.
2020-03-19 14:12:28 -07:00
Mark D. Roth 611cf644bc Use wait_for_ready for xds calls. 2020-03-18 12:12:34 -07:00
Mark D. Roth 5927f9b625 Gracefully switch xds policy instances when cluster name changes, and other LRS-related fixes. 2020-03-18 07:42:32 -07:00
Jan Tattermusch bccdd0cb29
Merge pull request #22356 from jtattermusch/more_flakes
Mark client_lb_end2end_test as flaky
2020-03-17 17:51:13 +01:00
Jan Tattermusch 2e266a82d9 mark end2end test as flaky 2020-03-17 06:24:25 -04:00
Jan Tattermusch bda2519eeb mark client_lb_end2end_test as flaky 2020-03-16 03:14:00 -04:00
Donna Dionne 50a04f99e7 Merge remote-tracking branch 'upstream/master' into route_response 2020-03-15 15:57:38 -07:00
Mark D. Roth be7da6b149
Merge pull request #22330 from markdroth/xds_locality_map_update_fix
If an EDS update replaces all localities in a priority, go into CONNECTING
2020-03-13 08:07:12 -07:00
donnadionne 7afdaf818b
Merge pull request #22298 from donnadionne/flakes
Fix flake in LocalityMapTest.UpdateMap test
2020-03-12 14:38:53 -07:00
Mark D. Roth 4c200b4300 If an EDS update replaces all localities in a priority, go into CONNECTING. 2020-03-12 13:49:30 -07:00
Donna Dionne a61c6c36ba LocalityMapTest.UpdateMap is rewritten
to set the second EDS update more deterministically instead of using
a delay.

This test popped up as a flake after the refactoring of the xds_end2end
test and it can now be rewritten to be more determinsitic.
2020-03-10 18:39:04 -07:00
Mark D. Roth 86cbef7f72 clang-format 2020-03-10 15:59:28 -07:00
Mark D. Roth 6b315db2ba add test for removed cluster resource 2020-03-10 15:57:08 -07:00
Mark D. Roth 027492ff86 add missing comment 2020-03-10 15:28:32 -07:00
Mark D. Roth 46b4414655 change logic to send empty response when resources go away 2020-03-10 11:44:39 -07:00
Mark D. Roth c306d7940f add test for changing clusters 2020-03-10 10:53:39 -07:00
Mark D. Roth b4d5901b5e clean up test code 2020-03-10 10:49:24 -07:00
Donna Dionne 7a146722db Harded coded a service config to point to xds_routing_experimental
With just 1 action, which has 1 child policy: cds_experimental

Basically wrapping the previous cds_experimental config inside the new
xds_routing_experimental

Tested to make sure all current tests still pass.

This is just a skeleton code to allow new parsing code to be added and
tested.
2020-03-09 16:47:24 -07:00
Donna Dionne e2178cc1ff Merged and addressed code review comments. 2020-03-04 17:03:39 -08:00
Donna Dionne 854ebff0c3 Making ClingTidy changes
https://critique-ng.corp.google.com/cl/298652594/analysis
2020-03-03 19:31:32 -08:00
Esun Kim 30f88e8b76
Merge pull request #22210 from veblush/docker-for-sanity
Docker for sanity
2020-03-03 14:22:07 -08:00
Esun Kim b308241343 Fix clang-tidy issues 2020-03-03 12:27:41 -08:00
Esun Kim 415d41f9e8 Rerun clang-formatter-7 2020-03-03 10:46:55 -08:00
Donna Dionne d5689c37ed Converting AdsServiceImpl to a Fake
- Allow Resources to be set
- Allow clients to subscribe/unsubscribe to resources
- Managing, storing, and versioning resources correctly based on updates
- Correct ACK/NACK according to XDS protocol
- Started a separate blocking thread to be used for stream read
- Handling both requests from clients and updates from tests and respond
with the correct version of resource
- Consolidated all 4 resources (LDS, CDS, EDS, RDS) to share common code
- Updated all tests to use the fake properly
- Fixed potential crash cases in the subchannel thread for clean TSAN,
UBSAN runs
2020-03-03 09:10:53 -08:00
Yash Tibrewal 874b89dcfc Merge branch 'master' into uselogicalthread 2020-03-02 11:26:24 -08:00
Yash Tibrewal 2cdab491a3 Cleanup 2020-03-02 11:19:21 -08:00
Jan Tattermusch e00bec7bbb mark grpclb_end2end_test as flaky 2020-03-01 22:29:27 -05:00
Jan Tattermusch cbb0ef2717 try marking some offenders as flaky 2020-02-27 22:37:32 -05:00
Mark D. Roth 144adbc194
Merge pull request #22147 from markdroth/xds_overprovisioning_capability
xds: send no-overprovisioning client capability and populate user_agent fields
2020-02-27 15:02:53 -08:00
Yash Tibrewal 35697a8f4d Merge branch 'master' into testingws2 2020-02-27 11:29:09 -08:00
Yash Tibrewal c6fa7eefb9 testing with locks in ws
Remove no_logging and add missing mu locks
2020-02-27 11:22:14 -08:00
Moiz Haidry 1d47046807 Merge from HEAD 2020-02-27 11:00:28 -08:00
Vijay Pai fe72304e54 Switch registered calls to a map and check the map before inserting 2020-02-27 09:13:42 -08:00
Moiz Haidry 4c5ee108da Addressed Yang's comments, I have removed usage of const throughout for consistency 2020-02-26 14:14:33 -08:00
Mark D. Roth b68f813e54 xds: send envoy.lb.does_not_support_overprovisioning client capability 2020-02-26 08:23:27 -08:00
Moiz Haidry 67565b767d CallCredentials debug string API 2020-02-25 16:09:03 -08:00
Mark D. Roth 2a67b2d55a
Merge pull request #22063 from markdroth/xds_lrs_metadata
Update LRS to use "PROXYLESS_CLIENT_HOSTNAME" metadata instead of cluster field.
2020-02-20 10:46:56 -08:00
Vijay Pai 3620abf059 Properly follow precise conditions for callback inlining 2020-02-20 01:34:30 +00:00
Mark D. Roth 06e34a1d4f Update LRS to use "PROXYLESS_CLIENT_HOSTNAME" metadata instead of cluster field. 2020-02-18 14:29:15 -08:00
Mark D. Roth cf032b300e xds: Fix crash when moving all localities from a priority to a higher priority. 2020-02-05 07:51:36 -08:00
Mark D. Roth 283574e3b7 Convert service config code to use new JSON API 2020-02-04 07:42:31 -08:00
Jan Tattermusch b8aa71ded7
Merge pull request #21833 from jtattermusch/reintroduce_again_21527
Reintroduce #21527 (boringssl submodule unification - take two)
2020-01-31 16:57:22 +01:00
Vijay Pai c34999ae2c Remove unneeded curly braces 2020-01-30 00:20:17 -08:00
Jan Tattermusch f098606c4a Revert "Revert "Reintroduce #21527 (boringssl submodule unification)""
This reverts commit cca892022b.
2020-01-29 09:18:51 -05:00
Vijay Pai d173d3fde8 Fix cancellation to make it easier to follow 2020-01-29 00:39:49 -08:00
Vijay Pai e695974375 Merge branch 'master' into synced_alarm 2020-01-28 23:59:12 -08:00
Mark D. Roth cb6168667c remove unused "using" declaration 2020-01-28 13:29:52 -08:00
Mark D. Roth 1490b5a24e Fix unused-result errors on import. 2020-01-28 12:47:37 -08:00
hcaseyal 5631724539
Merge pull request #21805 from grpc/revert-21797-reintroduce_21527
Revert "Reintroduce #21527 (boringssl submodule unification)"
2020-01-28 10:41:33 -08:00
Mark D. Roth 404d235153
Merge pull request #21775 from markdroth/xds_timeout
Support xds request timeouts.
2020-01-27 15:50:46 -08:00
hcaseyal cca892022b
Revert "Reintroduce #21527 (boringssl submodule unification)" 2020-01-27 13:46:10 -08:00
Mark D. Roth d7a91d59bb Support xds request timeouts. 2020-01-27 11:27:44 -08:00
Jan Tattermusch f91a1c5a69 avoid async_end2end_test timeout on msan 2020-01-27 05:27:55 -05:00
Mark D. Roth ac7c1d20ed Add LDS/RDS into XdsClient 2020-01-24 08:05:02 -08:00
Vijay Pai 3ade3e84a9 Make use of alarm in test service more robust 2020-01-22 10:31:25 -08:00
Jan Tattermusch 3f3cf8b62a
Revert "grpclb stabilization" 2020-01-20 14:11:16 +01:00
Yash Tibrewal 48139ebe2e Fix 21686 to use the correct status 2020-01-17 13:29:30 -08:00
Yash Tibrewal ccf20e254f Fix xds_end2end_test 2020-01-16 16:08:54 -08:00
Juanli Shen a0b812c30f Add CDS to xds client 2020-01-15 19:38:54 -08:00
Yang Gao 56972ae715
Merge pull request #21648 from yang-g/init_first
InitGoogleTest before grpc_init
2020-01-14 15:07:37 -08:00
yang-g 5bc57b64fe InitGoogleTest before grpc_init 2020-01-14 13:29:15 -08:00
Mark D. Roth 118fe7405f Increase test timeout to avoid flakiness. 2020-01-13 12:47:06 -08:00
Mark D. Roth 7388c47c91
Merge pull request #20803 from markdroth/grpclb_stabilization
grpclb stabilization
2020-01-10 10:47:46 -08:00
Mark D. Roth 5b18402914 grpclb stabilization 2020-01-10 09:13:10 -08:00
Esun Kim 9ae81e1d3f Make test code use TestEnvironment 2020-01-09 14:14:16 -08:00
Vijay Pai 027eb3b05b
Merge pull request #21532 from vjpai/deadline
Properly set up deadline for generic callback requests
2019-12-19 23:03:09 -08:00
Vijay Pai 9ccc6b0e38 Properly set up deadline for generic requests 2019-12-19 18:54:35 -08:00
Lidi Zheng d5d6914751 Make buildifier sanity test fail-able 2019-12-18 16:16:49 -08:00
Vijay Pai e522302e33
Merge pull request #21465 from vjpai/fix_cancel_delayed_rpc
Make CancelDelayedRpc test not use sleeps for client-server sync
2019-12-13 17:38:35 -08:00
Vijay Pai 24483d2afd Address reviewer comments 2019-12-13 15:17:34 -08:00
Mark D. Roth 31773d2c6a grpclb: Add support for balancer telling client to enter fallback mode. 2019-12-13 09:11:22 -08:00
Vijay Pai 9be35f74c0 Make CancelDelayedRpc test not use sleeps for client-server sync 2019-12-12 11:19:00 -08:00
Vijay Pai 7c46d37442
Merge pull request #21380 from vjpai/implement_generic_unary_reactor
Actually implement the generic reactor-based unary call
2019-12-05 15:18:17 -08:00
Mark D. Roth 866cb72063
Merge pull request #21374 from markdroth/xds_bootstrap_server
Support multiple xds servers in bootstrap file.
2019-12-05 07:42:32 -08:00
Mark D. Roth 408ec6e867 fix xds_end2end_test 2019-12-04 13:20:15 -08:00
Vijay Pai 88874094be Actually implement the generic reactor-based unary call. 2019-12-04 11:41:47 -08:00
Vijay Pai 526fcb5c7d
Merge pull request #21257 from vjpai/no_pthread
Prevent use of pthread header
2019-12-04 10:54:40 -08:00
Vijay Pai 2c87eaabd4 De-experimentalize generic features of callback API under an ifdef 2019-12-03 12:24:13 -08:00
Jan Tattermusch aa40b1c8b8
Merge pull request #20510 from jtattermusch/bazel_test_on_mac
Start running bazel C/C++ tests on mac
2019-11-27 12:09:43 +01:00
Jan Tattermusch 674b1f6f52 use more reasonable timeouts for sanitizer tests 2019-11-26 13:03:40 -05:00
Prashant Jaikumar 2526dfade5 WIP: Make core and C++ tests work with bazel on Mac OS 2019-11-25 13:35:26 +01:00
Jan Tattermusch 78888d7861 avoid thread local unitialized problem under GRPC_PTHREAD_TLS 2019-11-25 13:35:26 +01:00
Mark D. Roth 6950e15882
Merge pull request #21274 from markdroth/xds_test_sharding
Shard xds_end2end_test.
2019-11-22 12:56:13 -08:00
Mark D. Roth 3d3b6d8a8a shard xds_end2end_test 2019-11-22 10:36:10 -08:00
Vijay Pai be6979202b Revamp server-side C++ callback API, message allocator, and mocking 2019-11-20 16:56:18 -08:00
Jan Tattermusch 091f802554
Merge pull request #21218 from jtattermusch/bazel_timeout_cleanup
bazel: prefer using "size" over "timeout" for bazel tests
2019-11-20 19:53:56 +01:00
Vijay Pai 9cbd685304 Prevent use of pthread header 2019-11-19 15:26:55 -08:00
Vijay Pai 015a3e5811
Merge pull request #21239 from vjpai/server_shutdown_reorder
Fix server shutdown ordering bug
2019-11-19 12:33:41 -08:00
Vijay Pai 73de768139 Test server destruction without explicit Shutdown 2019-11-18 23:17:55 -08:00
Esun Kim 88527cc393 Add missing #include condition_variable 2019-11-18 15:06:56 -08:00
Esun Kim f40a702441 Clean up headers 2019-11-15 09:38:31 -08:00
Prashant Jaikumar c9117fa198 Fix C++ tests to enable running on android 2019-11-14 16:20:33 -08:00
Vijay Pai 334fffc8c7 Repeat changes of #20968 which were accidentally reverted 2019-11-14 08:38:35 -08:00
Jan Tattermusch 986070d280 use test size instead of timeout 2019-11-14 11:17:31 -05:00
Esun Kim e45b60d1fe Fix unique_ptr<char> memory allocation mismatch 2019-11-07 17:53:59 -08:00
Esun Kim b2b7fc9af8 Replaced grpc_core::UniquePtr with std::unique_ptr 2019-11-07 13:05:39 -08:00
Vijay Pai 3928a20bdf Fix outdated thread invocation that now causes Windows breakage 2019-11-07 01:48:33 -08:00
Esun Kim de81f120b2 Abseilify StringView 2019-11-06 10:58:03 -08:00
Lidi Zheng c34bef4ca4 Format all Bazel files with buildifier 2019-11-05 14:03:52 -08:00
Mark D. Roth 7ccdc85fa0 CDS LB policy 2019-10-29 12:00:12 -07:00
Mark D. Roth bc7c655e37 Revert "Merge pull request #20745 from grpc/revert-20679-eds_health_status"
This reverts commit 9647a1ed99, reversing
changes made to 61059132fa.
2019-10-25 10:23:23 -07:00
Mark D. Roth d942e69eac Add new fields to xds policy config. 2019-10-25 07:43:34 -07:00
Mark D. Roth d0c62504df Reuse the same ports for each test. 2019-10-24 10:57:34 -07:00