Mark D. Roth
9ff943b81e
client_channel: allow LB policy to communicate update errors to resolver ( #30809 )
...
* client_channel: allow LB policy to communicate update errors to resolver
* fix tests
* Automated change: Fix sanity tests
* fix build
* fix another "ignoring return value" warning
* fix use-after-move
* fix channel to invoke resolver callback when service config fails on initial resolution
* remove outdated TODO
* improve comments
* fix PollingResolver to defer re-resolution requests while waiting for result-health callback
* Automated change: Fix sanity tests
* absl::exchange -> std::exchange
* fix dns_resolver_cooldown_test
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
aaec373a10
Second attempt: XdsClient: add unit test and fix watcher notification bugs ( #30943 )
...
* Revert "Revert "XdsClient: add unit test and fix watcher notification bugs (#30823 )" (#30942 )"
This reverts commit 6d2c4a8314
.
* use GRPC_CUSTOM_JSONUTIL macro for JsonPrintOptions
2 years ago
Richard Belleville
6d2c4a8314
Revert "XdsClient: add unit test and fix watcher notification bugs ( #30823 )" ( #30942 )
...
This reverts commit bcd8c991e6
.
2 years ago
Mark D. Roth
bcd8c991e6
XdsClient: add unit test and fix watcher notification bugs ( #30823 )
...
This adds a unit test for XdsClient and fixes several watcher-notification bugs found in the process. Specifically:
- When an ADS stream fails or an xDS channel reports a connectivity failure, report an error only to the watchers for resources being subscribed to on that particular channel, not to watchers on other channels.
- Cache the error status for the channel, so that if a new watcher is started after the channel reports the error, we can immediately report that error to the new watcher.
- If a resource is NACKed and has not been previously cached, or does not exist, report that fact to any new watcher that may be started later.
- If a resource in an ADS response is unparseable but is wrapped in a `Resource` wrapper, we do know its name, so record the validation failure in the cache and report it to the watchers.
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Craig Tiller
2b46cb40d3
[config] Move certificate provider registry into core config ( #30890 )
...
* [config] Move certificate provider registry into core config
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
7ba58bb925
[build] Move certificate provider registry into its own build target ( #30836 )
...
* [build] Move cert registry into its own build target
* Automated change: Fix sanity tests
* fix
* forgot to save file
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
b463cabeec
Update flaky tests ( #30873 )
...
* Update flaky tests list
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
70dd34b438
Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args"" ( #30509 )
...
* Revert "Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args (#30028 )" (#30495 )"
This reverts commit 0b1a8c984b
.
* bug fix
* bug fix
* fix sanity
2 years ago
Mark D. Roth
bf9304ef17
client_channel, client_auth: rewrite disallowed status codes from the control plane ( #30789 )
...
* client_channel: rewrite illegal status codes from control plane
* rewrite illegal status codes for call creds
* move fail_lb policy out of retry_lb_fail test so it can be reused
* test resolver and LB policy status rewrites
* add test for ConfigSelector status rewriting
* attempt to add client_auth filter unit test
* fix client_auth_filter test
* cleanup test
* fix build
* fix some memory leaks
* Automated change: Fix sanity tests
* Update client_auth_filter_test.cc
* fix build
* code review comments
* clang-tidy
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
Co-authored-by: Craig Tiller <ctiller@google.com>
2 years ago
Mark D. Roth
2142183ef4
XdsClient: don't ignore resources after an invalid Resource wrapper ( #30819 )
2 years ago
Craig Tiller
622dd886e6
Update flaky tests list ( #30771 )
...
* Update flaky tests list
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
2c28b44852
subchannel: include IP address in status messages ( #30784 )
...
* subchannel: include IP address in status messages
* Automated change: Fix sanity tests
* add comment about lock annotations
* clang-format
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Vignesh Babu
602c5e8e97
Add a provision to allow specification of separate set of channel args for the channel to grpclb server ( #30755 )
...
* Add a provision to allow specification of separate set of channel args for the grpclb channel
* fix asan issue
* review comments
* review comments
* add missing file
* remove unused hdr
* fix sanity
* fix comments
* remove unused hdr
2 years ago
Craig Tiller
535168431a
[lb_policy] Move to core configuration system ( #30483 )
...
* [load_balancing] Move interfaces to src/core/lib/load_balancing
* Automated change: Fix sanity tests
* progress
* progress
* fix
* missed file
* Automated change: Fix sanity tests
* update tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fixes
* fix
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Alisha Nanda
b94fb2b894
Fix PickFirstTest.PendingUpdateAndSelectedSubchannelFails flake in client_lb_end2end_test ( #30741 )
...
* ConnectionAttemptInjector: fix tsan failures
* Add hold to test
* Add hold to test
* Address comments
* Address comments
* Address comments
* Fix typo
Co-authored-by: Mark D. Roth <roth@google.com>
2 years ago
Mark D. Roth
5f7096614a
xds_e2e_test_lib: increase default timeouts in test framework ( #30756 )
...
* e2e tests: add test scaling factor to durations in channel args
* apply test scaling factor when encoding durations in xDS protos
* apply scaling factor in fixed timeout in WaitForNack()
* fix overflow
* clang-format
* adjust timeouts in fault injection tests
* add missing slowdown factor
* clang-format
* xds_e2e_test_lib: increase default timeouts in test framework
2 years ago
Mark D. Roth
121a08f6a9
end2end tests: apply test slowdown factor in various places where it was missed ( #30749 )
...
* e2e tests: add test scaling factor to durations in channel args
* apply test scaling factor when encoding durations in xDS protos
* apply scaling factor in fixed timeout in WaitForNack()
* fix overflow
* clang-format
* adjust timeouts in fault injection tests
* add missing slowdown factor
* clang-format
* add tests for duration multiplication
2 years ago
Mark D. Roth
143c852d2f
end2end tests: fix test service impl to apply test slowdown factor ( #30750 )
...
* end2end tests: fix test service impl to apply test slowdown factor
* fix build
2 years ago
Yousuk Seung
807e93f250
[fixit] Deflake xds_outlier_detection_end2end_test ( #30690 )
...
* timing deflake
* Removed empty lines, unused setter.
* Shorten sleep time, removed 3 sleeps.
* hardcode sleep times everywhere
* add back test factor
* sanity check fix
2 years ago
Yash Tibrewal
2805b523d9
XdsRingHash: Tune timeouts ( #30742 )
...
* XdsRingHash: Tune timeouts
* Add WaitForBackendOptions timeout
* More tuning
* Fix
2 years ago
Vignesh Babu
09558e9052
Adjust rpc timeouts in xds tests to reduce Deadline exceeded errors in msan ( #30732 )
2 years ago
Mark D. Roth
03b6b01043
ConnectionAttemptInjector: fix tsan failures ( #30730 )
2 years ago
Mark D. Roth
4a27b432b6
xds_cluster_e2e_test: change tests to provide better failure messages ( #30727 )
2 years ago
Mark D. Roth
dc1cb1fb59
grpclb_e2e_test: increase timeout in InitiallyEmptyServerlist test ( #30726 )
2 years ago
AJ Heller
f7d8ee068a
[fixit] Extend timeout for SameBackendListedMultipleTimes/V3 test ( #30716 )
...
Previously this failed 1/1000 times with a 1s timeout, giving a
`Deadline Exceeded` error. I was able to reproduce the failure in
22/1000 times with a 500ms timeout. Changing it to a 2s timeout in this
PR, the failure did not reproduce in 5000 runs.
2 years ago
Cheng-Yu Chung
7c86c34e63
[fixit] Solve the flakiness for test case `End2endTest.ClientCancelsBidi` ( #30664 )
...
* First try to solve the flakiness of End2endTest.ClientCancelsBidi
* Update using `absl::Notification`
* Update
2 years ago
Mark D. Roth
72e76f6a86
client_lb_e2e_test: fix flake in PickFirstTest.CheckStateBeforeStartWatch ( #30698 )
2 years ago
Mark D. Roth
eed4766424
rls_e2e_test: check authority on server side instead of using death test ( #30652 )
2 years ago
Vignesh Babu
9f9d87cfa6
Fix CBF on mac by switching to grpc_core::Mutex and grpc_core::CondVar ( #30666 )
2 years ago
Craig Tiller
f573fd44f9
[test] Semi-automatic flaky test tracking ( #30638 )
...
* [test] Semi-automatic flaky test tracking
* fix
* Automated change: Fix sanity tests
* Update update_flakes.py
* fix formatting
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
fedba4654d
xds_routing_e2e_test: fix XdsRetryPolicyMaxBackOff flake ( #30649 )
2 years ago
Mark D. Roth
221a969e04
client_lb_end2end_test: fix flake caused by not doing graceful server shutdown ( #30647 )
2 years ago
Alisha Nanda
96af4084c9
Fix StatusCancelledWithoutStartingRecvTrailingMetadata flake in client_lb_end2end_test ( #30629 )
...
* Fix metadata flake in client_lb_end2end_test
* Address review comments
* Return bool
* Address review comment
2 years ago
Cheng-Yu Chung
dca225be95
[fixit] Increase sleep time for test `ProxyEnd2endTest.RpcDeadlineExpires` to reduce flakiness ( #30631 )
...
* Increase sleep time for test `ProxyEnd2endTest.RpcDeadlineExpires`
* Update
2 years ago
Yash Tibrewal
02df22f52f
FaultInjection: Fix random number generation ( #30623 )
...
* FaultInjection: Fix random number generation
* Put random generation under a mutex
* Fix IWYU
* Regenerate projects
* Modify timeouts
* Dbg build knobs
* Remove unnecessary slowdown factor
* Tune error tolerance and add note on broken computation of ComputeIdealNumRpcs
2 years ago
Yash Tibrewal
aba48793f8
XdsSecurityTest: Use a timeout of 5000ms for RPCs ( #30621 )
...
* XdsSecurityTest: Use a timeout of 5000ms for RPCs
* Reviewer comments
* Remove old comment
2 years ago
Yash Tibrewal
b9f6b2663c
XdsEnd2EndTest: Increase default RPC timeout ( #30609 )
2 years ago
Alisha Nanda
faa0679c57
Fix flake in client_lb_end2end_test ( #30601 )
...
* Fix ubsan failure
* Fix build failures with istio test
* Fix other status code
* Fix flake in client_lb_end2end_test
2 years ago
Cheng-Yu Chung
103f4c2f1e
[fixit] Increase timeout value for XDS Core End2End Test ( #30593 )
2 years ago
Mark D. Roth
dc4414aa0c
XdsClient: access certificate provider data via dependency injection ( #30506 )
...
* don't pass context through AdsResponseParser::ParseResource()
* don't pass certificate provider info through XdsApi
* use dependency injection for cert provider map
* move XdsEncodingContext into XdsResourceType
* remove unnecessary field
* clang-format
* Automated change: Fix sanity tests
* fix xds_bootstrap_test
* fix build
* Automated change: Fix sanity tests
* fix test and clang-format
* remove unnecessary field
* fix test
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Craig Tiller
ae70e65e13
[build] Shard tests a little more ( #30489 )
...
* [build] Shard tests a little more
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
0b1a8c984b
Revert "Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args ( #30028 )" ( #30495 )
...
This reverts commit 2c977a4d98
.
2 years ago
Vignesh Babu
2c977a4d98
Modifying iomgr tcp code to use event engine EndpointConfig instead of channel_args ( #30028 )
...
* convert tcp code to use EndpointConfig and successfully compile
* regenerate projects
* copying config options used in tcp code to create map backed endpoint configs
* fix minor build issues
* fix includes in tests
* fix some build and test issues
* modifying endpoint config definition from an abstract interface into a concrete implementation
* minor fix
* add unreachable code check
* fix some windows build issues
* fix more build issues
* adding a grpc_tcp_generic_options struct to hold data extracted from EndpointConfig
* code formatting
* simplify
* fix sanity checks
* fix windows issues
* some posix fixes
* disabling copy constructor and copy assignment operator for endpoint config
* fix sanity checks
* fix syntax error
* fix weird formatting
* fix build issue
* fix review comments
* reverting un-necessary change
* remove channel args completely from windows impl since it is unused
* remove unused headers and fix usage in endpoint_pair_windows.cc
* cleanup
* cleanup
* fix some initialization issues
* re-generate projects
* removing some files
* fix ifdef for windows
* fixing windows build issue due to improper header file include
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review comments
* add comment
* review comments
* rename GetPointer to GetVoidPointer
* cleanup
* Automated change: Fix sanity tests
* removing EndpointConfig::Get method
* Automated change: Fix sanity tests
* minor fix
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Mark D. Roth
7fcb2e1229
outlier_detection LB: reset state when OD is disabled ( #30418 )
...
* outlier_detection LB: reset state when OD is disabled
* leave interval unset when no OD config is present
* Automated change: Fix sanity tests
* fix clang-tidy
* don't check for interval of infinite duration
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
f4edc883ab
service config API: use absl::Status instead of grpc_error ( #30321 )
...
* service config API: use absl::Status instead of grpc_error
* Automated change: Fix sanity tests
* add missing build deps
* attempt to work around build breakage on older compilers
* trying the work-around in more spots
* more work-arounds
* more workarounds
* Automated change: Fix sanity tests
* work around another compiler problem
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Craig Tiller
856abd9446
[iwyu] Add test/core/util ( #30289 )
...
* [iwyu] Add test/core/util
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
a1d42f84ef
xds_cluster_resolver: pass useful resolution_note to children ( #30283 )
...
* xds_cluster_resolver: pass useful resolution_note to children
* clang-format
2 years ago
Mark D. Roth
201213c681
client channel: add tests for authority override precedence ( #30172 )
...
* client channel: add tests for authority override precedence
* add unit test
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Esun Kim
98b1a7710e
Changed num_threads based on slowness factor for xSAN ( #30240 )
...
* Changed num_threads
* Update by review
* Update by review
2 years ago
Craig Tiller
d304712f64
[channel_args] Spread grpc_core::ChannelArgs through client channel code ( #30008 )
...
* [channel_args] Spread grpc_core::ChannelArgs through client channel code
* progress
* progress
* grpc compiles
* uniqueptr+compiles
* fix
* fix
* fix
* fix
* fix
* fix
* fixes
* fix
* fix
* fixes
* fix-lb
* fix
* fix up arg construction
* fix
* fix
* fix
* fix
* move to const& to save bytes
* fix
* fix
* progress
* review feedback
* fix
* fix
* fixes
* fixes
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* debug-helper
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago