Commit Graph

2358 Commits

Author SHA1 Message Date
donnadionne 10f218030d
xDS retry policy should be considered present even if there are no supported policies in retry_on (#27315)
* Ensure that per route retry policy (even when there are no supported
retry_on statuses) still takes precedence over virtual host level retry
policy.

Added a test to guard this case.

* Taking care of code review comments and removing unnecessary block
2021-09-13 18:13:45 -07:00
Lidi Zheng 15184d30ad
Fix injected abort error not recorded after injected delay (#27215)
* Fix injected abort error not recorded after injected delay

* Add the abort after delay test case

* Make Kokoro's clang_format happy
2021-09-13 09:52:20 -07:00
Mark D. Roth 3763be8796
add APIs for creating errors from C++ strings (#27310)
* add API for creating errors from C++ strings

* add missing include
2021-09-10 16:15:36 -07:00
Yash Tibrewal 72171a3326
De-experimentalize XdsCredentials and XdsServerCredentials API (#26544)
* De-experimentalize XdsCredentials and XdsServerCredentials API

* Use GRPC_DEPRECATED
2021-09-09 16:22:25 -07:00
Yash Tibrewal 362aff3458
xDS: Remove environmental variable guard for security (#27290) 2021-09-09 16:21:15 -07:00
Yash Tibrewal 7fd731f704
De-experimentalize XdsServerBuilder (#27296) 2021-09-09 14:14:11 -07:00
Yash Tibrewal 1a009cf4e5
xDS Security: Use new way to fetch certificate provider plugin instance config (#27264)
* xDS Security: Use new way to fetch certificate provider plugin instance
config

* Reviewer comments

* Additional fields to NACK

* Move NACKing tests for tls_certificates and tls_certificate_sds_securet_configs to client-side
2021-09-09 14:12:05 -07:00
Yash Tibrewal f26c107651
xDS server serving status: Use a struct to allow more fields to be added in the future (#27242) 2021-09-09 11:11:57 -07:00
Mark D. Roth f3497eb790
implement improved xDS NACK semantics (#27276)
* refactor xDS response parsing

* fix build

* implement improved xDS NACK semantics

* fix clang-tidy

* fix test
2021-09-08 13:37:07 -07:00
Craig Tiller ea389c00c2
Adjust include order per style guide (#27175)
Introduce clang-format configuration to sort includes closer to our rules.
2021-09-08 12:14:44 -07:00
Mark D. Roth e468b00c56
refactor xDS response parsing (#27272)
* refactor xDS response parsing

* fix build
2021-09-08 07:57:38 -07:00
Mark D. Roth 2cb3831c83
fix retry code to fail batches instead of creating attempt if previously cancelled from surface (#27217)
* fix retry code to fail batches instead of creating attempt if previously cancelled from surface

* add xDS end2end tests covering the FI use-case that triggered the bug

* fix memory leak
2021-09-01 15:47:16 -07:00
Yash Tibrewal cb2e7554a3
xds_end2end_test: Fix UnsupportedHttpFilter test on aws (#27147) 2021-08-27 09:10:46 -07:00
Ta-Wei Tu 7dd1da9e1d
Break after WriteLast() (#27165)
If we continue to call `Write()` after `WriteLast()` (because client is still sending us data and thus `Read()` returns `true`), the buffer might become invalid and results in assertion failures.
2021-08-27 23:19:12 +08:00
Ashitha Santhosh 1ff1f8fd83
SDK authorization filter. (#26468)
* SDK authorization filter.
2021-08-25 21:00:35 -07:00
donnadionne 59fc02a94b
Enabling Ring Hash by default. (#27111) 2021-08-24 19:59:19 -07:00
Yash Tibrewal 6da9eb9f3f
xDS PSM Server Security: Nack unsupported require_sni and ocsp_staple_policy values (#26878)
* Nack unsupported require_sni and ocsp_staple_policy values

* Reviewer comments
2021-08-24 10:50:08 -07:00
AJ Heller 6ba4a92af7
Reorder gtest/gmock headers (#27070)
Per the style guide (or spirit thereof), these should be placed with the other external/third_party headers.
2021-08-20 14:36:08 -07:00
Yash Tibrewal 0ab13090e7
Nack certain unsupported fields in CertificateValidationContext (#26880)
* Nack certain unsupported fields in CertificateValidationContext

* Regenerate projects

* Reviewer comments
2021-08-20 11:03:20 -07:00
AJ Heller d10617edb5
Move resource_user ownership into chttp2 transport/server/connector v2 (#27032)
Reintroducing PR #26643, which was reverted in #27029

Fixed a memory leak and added a test that would have caught it (ASAN build): ca0c8c4
2021-08-18 17:04:00 -07:00
AJ Heller 4ba3fa52b9
Clean up some instances of -Wunreachable-code-aggressive (#27054)
See https://github.com/grpc/grpc/pull/26951 for why this is not enforced
at the moment.
2021-08-18 11:43:46 -07:00
AJ Heller 58f8f5ced3
Add macro to define gtest death_test_style using an older syntax (#27042)
This temporarily unblocks a related gtest upgrade. The ultimate goal is
to upgraade our gtest dependencies, but I don't have the cycles to
manage a potentially messy migration until at least next week. This PR
is coordinated with an internal change.
2021-08-17 17:12:28 -07:00
Yash Tibrewal 533f02642d
Disable xds_credentials_test on iOS (#27043) 2021-08-17 13:33:05 -07:00
Mark D. Roth 9f782faa34
xds: remove env var protection for retries (#27039) 2021-08-17 13:23:25 -07:00
Craig Tiller f5d3ed2db1
Revert "Move resource_user ownership into chttp2 transport/server/connector (#26643)" (#27029)
This reverts commit d1935a65a1. Will be rolled forward with a fix.
2021-08-16 19:07:39 -07:00
AJ Heller d1935a65a1
Move resource_user ownership into chttp2 transport/server/connector (#26643) 2021-08-16 13:50:56 -07:00
Tamir Duberstein 34338e5798
Avoid undefined behavior in pthread TLS (#26999)
See code commentary for an explanation.

Add an additional constructor to allow `log_linux.cc` to compile with
GPR_PTHREAD_TLS. Without it:

```
../../third_party/grpc/src/core/lib/gpr/log_linux.cc:78:33: error: no viable conversion from 'int' to 'grpc_core::PthreadTlsImpl<long>'
  static GPR_THREAD_LOCAL(long) tid = 0;
                                ^     ~
../../third_party/grpc/src/core/lib/gpr/tls.h:64:3: note: candidate constructor not viable: no known conversion from 'int' to 'const grpc_core::PthreadTlsImpl<long> &' for 1st argument
  PthreadTlsImpl(const PthreadTlsImpl&) = delete;
  ^
1 error generated.
```
2021-08-12 19:25:38 -07:00
Tamir Duberstein 00c03c55ff
Implement type safety for TLS (#26942)
* Implement type safety for TLS

This is mostly free when compiler support is available, but requires
careful templating when implemented using pthread.

Significantly slimmed the tls.h interface; it now only defines the "TLS
keyword" for each supported compiler, delegating enforcement of correct
usage (i.e. must be static) to the compiler itself.

Implemented implicit conversion for the pthread wrapper so it can be
used (mostly) the same as native support. Notable exception to this is
that static_cast<void*> is needed when printing a pointer stored in TLS
as %p.

* Use GPR_THREAD_LOCAL macros consistently
2021-08-11 13:24:26 -07:00
Yash Tibrewal 404e56b2d9
Fix XdsEnabledServerTest (#26956) 2021-08-10 10:47:12 -07:00
Tamir Duberstein 3fd01fabae
Add thread safety annotations (#26871)
This exposes a bug in clang, reported upstream as
https://bugs.llvm.org/show_bug.cgi?id=51368.

The clang bug is mitigated using a fake scoped lock; that allows the
current code to compile while also serving as a change detector to
prevent it from going stale; if the compiler bug is fixed, the compiler
will see an overlapping locking requirement, and reject this code, which
will prompt a human being to remove this workaround.
2021-08-06 15:44:22 -07:00
Yash Tibrewal 29d220a0ef
Re-experimentalize XdsServerBuilder (#26892)
* Re-experimentalize XdsServerBuilder

* Fix compiler issue
2021-08-06 10:29:28 -07:00
Tamir Duberstein 013e67a029
Deprecate grpc{_core,::internal}::WaitUntil (#26866)
It is not possible for such a function to be implemented in a way that
is understood by annotalysis. Mark it deprecated and replace instances
of its use with direct mutex/condvar usage.

Add a bunch of missing thread safety annotations while I'm here.
2021-08-04 17:03:25 -07:00
Mark D. Roth 639b7acdfa
fix client_lb_end2end_test ClientLbPickArgsTest.Basic flakiness (#26868)
* fix client_lb_end2end_test ClientLbPickArgsTest.Basic flakiness

* clang-format
2021-08-04 09:46:47 -07:00
Tamir Duberstein 86c9de8231
Remove `grpc_core::WaitUntilWith{Deadline,Timeout}` (#26867)
These functions are essentially unused.
2021-08-03 15:46:36 -07:00
Mark D. Roth 6b71ec3704
LB policy API improvements (#26481)
* LB policy API improvements

* clang-format

* fix build

* a bit more cleanup

* use absl::variant<> for pick result

* fix retry_lb_drop test

* clang-format

* fix grpclb_end2end_test

* fix xds_end2end_test

* try to make variant code a bit cleaner

* clang-format

* fix memory leak

* fix build

* clang-format

* fix error refcount bug

* remove PickResult factory functions

* clang-format

* add ctors to structs

* clang-format

* fix clang-tidy

* update comments

* move LB recv_trailing_metadata callback instead of copying it

* use Match() instead of providing PickResult::Handle()

* don't use Match() for now, since it breaks lock annotations

* update retry_lb_fail test
2021-08-03 09:43:07 -07:00
Yash Tibrewal 49b5f9c420
Fix XdsServerSecurityTest (#26817) 2021-07-29 13:28:18 -07:00
donnadionne 7eaf37bce5
Adding retry policy (#26566) 2021-07-23 12:17:17 -07:00
Mark D. Roth 3104a9964c
xds: validate that terminal filters come at the end of the filter chain (#26742)
* xds: validate that terminal filters come at the end of the filter chain

* clang-format
2021-07-23 08:06:58 -07:00
Craig Tiller 4f9828fe0b
Remove unnecessary include (#26761) 2021-07-22 16:19:34 -07:00
Mark D. Roth 246c57829b
xds: notify watchers when NACKing resource updates (#26757)
* xds: notify watchers when NACKing resource updates

* check status of failed RPC when waiting for NACK
2021-07-22 13:12:19 -07:00
Alisha Nanda d73ec07fe7
Fix small typo in xds end2end test (#26685) 2021-07-14 10:53:55 -07:00
Yash Tibrewal c52005c161
NACK xDS updates when certificate provider instace names are unrecognized (#26614)
* NACK xDS updates when certificate provider instace names are unrecognized

* Reviewer comments

* Reviewer comments

* Clang format

* Fix compilation error
2021-07-11 22:10:04 -07:00
Lidi Zheng b97693d572
[Roll Forward] Tighten the error tolerance requirement by 100x (#26626)
* Tighten the error tolerance requirement by 10x

* Make it 5 sigma instead of 4.5

* Rewrap comments

* Loosen the max concurrent requests in certain test cases
2021-07-09 10:33:43 -07:00
Yash Tibrewal 670a26caef
NACK xDS updates where transport_name is not recognized (#26612)
* NACK xDS updates where transport_name is not recognized

* Reviewer comments
2021-07-08 11:14:07 -07:00
Yash Tibrewal 095045b31c
NACK xds updates requiring client certificates when no validation certificate provider instance is mentioned (#26613) 2021-07-07 13:22:13 -07:00
Yash Tibrewal 8b5fbf8900
TLS Security Connector: Add an always-fail-handshaker when certificates are not ready (#26561)
* TLS Security Connector: Add an always-fail-handshaker when certificates are not ready

* Reviewer suggestion

* Add test
2021-07-04 12:39:29 -07:00
Yash Tibrewal 4daedf0233
De-experimentalize XdsServerBuilder (#26543) 2021-07-02 19:33:15 -07:00
Lidi Zheng f198fb5b41
Revert "Tighten the error tolerance requirement by 100x (#26588)" (#26593)
This reverts commit f835f3f97c.
2021-07-01 16:21:12 -07:00
Lidi Zheng f835f3f97c
Tighten the error tolerance requirement by 100x (#26588)
* Tighten the error tolerance requirement by 10x

* Make it 5 sigma instead of 4.5

* Rewrap comments
2021-07-01 09:48:37 -07:00
Mark D. Roth 34bf26357b
Change StringMatcher to not support case-insensitive regex matching. (#26567)
* Change StringMatcher to not support case-insensitive regex matching.

* clang-format

* clang-tidy
2021-06-29 09:25:33 -07:00
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