Craig Tiller
74c0d6fe3f
[c++] Move environment functions to C++ ( #30937 )
...
* [gprpp] Move env to C++
* move headers/impl
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Update http_proxy.cc
* fix
* fix
* rename
* fix merge
* fix
Co-authored-by: ctiller <ctiller@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
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
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
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
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
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
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
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
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
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
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
Mark D. Roth
a3afb81274
Second attempt: XdsClient: refactor transport code to make it injectable ( #30225 )
...
* Revert "Revert "XdsClient: refactor transport code to make it injectable (#30183 )" (#30223 )"
This reverts commit fa57b9d0bc
.
* fix deadlock seen internally
* Automated change: Fix sanity tests
* fix memory leak
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
AJ Heller
fa57b9d0bc
Revert "XdsClient: refactor transport code to make it injectable ( #30183 )" ( #30223 )
...
This reverts commit bd9bc5fd3e
.
2 years ago
Mark D. Roth
bd9bc5fd3e
XdsClient: refactor transport code to make it injectable ( #30183 )
...
* XdsClient: refactor transport code to make it injectable
* clang-format
* Automated change: Fix sanity tests
* remove unnecessary dtor
* fix build
* re-add missing drain of WorkSerializer queue after receiving a message
* remove unused code
* fix memory leak
* Automated change: Fix sanity tests
* fix another memory leak
* fix unused parameter
* fix tsan failure
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
74e1023f0a
priority LB: fix dumb reversed-conditional bug ( #30149 )
...
* C++ end2end tests: refactor ConnectionAttemptInjector code
* priority LB: fix dumb reversed-conditional bug
* clang-format
* add test
2 years ago
Yash Tibrewal
5e19c780c3
XdsSecurityTest: Rework infrastructure ( #30138 )
...
* XdsSecurityTest: Rework infrastructure
* Reviewer comments
* Comment
* Add TODO
2 years ago
Mark D. Roth
d379e811be
C++ end2end tests: refactor ConnectionAttemptInjector code ( #30148 )
...
* C++ end2end tests: refactor ConnectionAttemptInjector code
* clang-format
2 years ago
Yash Tibrewal
3aad52e4d3
XdsSecurityTest flakiness: Add broken pipe to expected error messages ( #30091 )
2 years ago
Mark D. Roth
870fe8624f
security handshaker: include security connector type in error message ( #30046 )
...
* weighted_target and RLS: delegate to child picker on error
* security handshaker: include security connector type in error message
* update test
* fix sanity
* fix crash
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
86e282ba97
weighted_target and RLS: delegate to child picker on error ( #29870 )
...
* weighted_target and RLS: delegate to child picker on error
* fix RLS bug that caused us to always use the last target in the list
* add comment
2 years ago
Mark D. Roth
d0c8b29ef7
xDS: fix endpoint weight defaults ( #30079 )
...
* xDS: fix endpoint weight defaults
* add test
* NACK endpoint weight of 0
* iwyu
* clang-tidy
* fix test
2 years ago
Mark D. Roth
f12972506e
xDS: improve status messages from xDS resolver failures ( #29975 )
3 years ago
Mark D. Roth
a78df68e96
xds: add "ignore_resource_deletion" server feature ( #29633 )
...
* xds: add "ignore_resource_deletion" server feature
* add logging
* clang-format
* fix build
* fix build
* add test for LDS resource deletion on gRPC server
* clang-format
3 years ago
Craig Tiller
6532084a06
[iwyu] rest of the owl: src/core/lib - excluding iomgr, gpr ( #29735 )
...
* [iwyu] rest of the owl: src/core/lib - excluding iomgr, gpr
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* x
* fix?
* fix
* windows fix
* fix
* fix
* fix
* fix
* fix
* debug
* fix
* fix
* Revert "debug"
This reverts commit c99b8d12dd
.
* Automated change: Fix sanity tests
* fix?
* Automated change: Fix sanity tests
* header cleanup
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
8459824e5c
xds end2end tests: change tests to check all RPC failure statuses ( #29974 )
...
* WIP
* fix from merge
* fix ring_hash tests
* ring hash: fix picker propagation bug in xds_cluster_manager policy
* fix build
* clang-format (ish)
* fix build
* more conversion
* remove old CheckRpcSendFailure
* fix SendRpcsAndCountFailuresWithMessage
* fix WaitForBackend
* clang-format
* revert xds resolver change, that will be done in a separate PR
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
3 years ago
Mark D. Roth
470a3066c7
ring hash: fix picker propagation bug in xds_cluster_manager policy ( #29959 )
...
* ring hash: fix picker propagation bug in xds_cluster_manager policy
* fix build
* fix build
3 years ago
Mark D. Roth
e49c61cd2f
client_channel: remove synchronous subchannel connectivity state API ( #28339 )
...
* ring_hash: don't recreate ring when individual subchannel states change
* client_channel: remove synchronous subchannel connectivity state API
* change subchannel list to automatically start watching all subchannels
* use a separate loop to start watches, so list size is logged correctly
* fix RR to re-resolve on IDLE again
* fix ring_hash to delay promoting new subchannel list
* fix pick_first to wait for all subchannels to report state
* clean up SubchannelList API
* fix unused argument error
* fix another unused argument error
* clang-format
* fix RR to not re-resolve on initial IDLE state
* also don't re-resolve in initial TF state; same for ring_hash
* clang-format
* change RR and PF to initially report CONNECTING, and add second loop to priority policy
* simplify priority logic a bit
* fix grpclb to drop ref to stats object even if the subchannel call is never started
* fix memory leak in ring_hash
* fix tsan failure in grpclb code
* iwyu
* add missing BUILD deps
* update outlier_detection policy
* fix test
* fix pick_first to not report TF prematurely due to subchannel sharing
* fix test to not depend on timing
3 years ago
Yash Tibrewal
5d9cdc8e67
xds: Add XdsLbRegistry ( #29756 )
...
* xds: Add XdsLbRegistry
* Formatting
* Fix upb output
* Allow alternative type url for Custom LBs
* Cleanup
* Reviewer comments
* Add some comments
* Reviewer comments
* Reviewer comments
* Reviewer comments
* Reviewer comments
* Fix tests
* Fix tests
* Fix tests
* Fix tests
* Fix tests
* Unused parameters
* Change to make TextFormat usage work internally
* Fix namespace qualification error
3 years ago