Mark D. Roth
3475489bf3
xDS: NACK EDS resources with duplicate addresses ( #31321 )
...
* xDS: NACK EDS resources with duplicate addresses
* iwyu
* update e2e tests
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
ede4e42c7d
weighted_target LB: use uint64_t for aggregate weights to avoid overflow ( #31244 )
...
* weighted_target LB: use uint64_t for aggregate weights to avoid overflow
* iwyu
* fix undefined behavior
* iwyu
* iwyu again
* fix test weights to sum to uint32 max
2 years ago
Vignesh Babu
8f1004f435
Increase timeout in xds_cluster_end2end_test ( #31260 )
...
* Add testonly attribute to mock_event_engine
* Increase rpc timeout in xds_cluster_end2end_test.cc
2 years ago
Mark D. Roth
11fbb63279
outlier detection: remove env var protection ( #31251 )
...
* outlier detection: remove env var protection
* fix sanity
2 years ago
Mark D. Roth
f2a377d35e
xDS cluster resource type: use ValidationErrors and add unit test ( #31025 )
...
* XdsBootstrap: move two more methods out of the interface
* Automated change: Fix sanity tests
* XdsClient: add unit test
* Automated change: Fix sanity tests
* fix memory leaks
* add helper method
* add unsubscription
* add test for multiple subscriptions
* clang-format
* fix build
* fix flakiness
* add checking for other node fields
* add v2 test
* add response builder
* add test for update from server
* add test for update containing only changed resources
* clang-format
* fix build
* add test for resource not existing upon subscription
* add test for stream closed by server
* add test for multiple watchers for the same resource
* add test for connection failure
* clang-format
* add test for resources wrapped in Resource wrapper message
* add test for resource validation failure
* add test for multiple invalid resources, and fix a case in XdsClient
* add test for validation failure for already-cached resource
* add test for server not resending resources after stream disconnect
* clang-format
* fix XdsClient to report channel errors to newly started watchers
* fix XdsClient to send cached errors/does-not-exists to newly started watchers
* fix watcher to ensure events arrive in the expected order
* fix tests
* clang-format
* add test for multiple resource types
* fix xds_cluster_e2e_test
* Automated change: Fix sanity tests
* cleanup
* add federation tests
* clang-format
* remove now-unnecessary XdsCertificateProviderPluginMapInterface
* code review comments
* simplify XdsResourceType::Decode() API
* XdsClient: add unit tests for XdsClusterResourceType
* add XdsClient with gRPC bootstrap config
* add LB policy tests
* started adding CertificateProvider tests
* update for recent API changes
* fix merge bugs
* xDS resource validation: identify extensions by type_url instead of name
* fix build
* migrate to ValidationErrors
* add xds_common_types_test
* finish TLS tests and add LRS tests
* move ScopedExperimentalEnvVar to its own library and remove redundant e2e tests
* add circuit breaking and outlier detection tests
* add validation to outlier detection LB policy parsing
* clang-format
* Automated change: Fix sanity tests
* fix signedness
* fix sanity
* fix sanity
* iwyu
* update code for XdsResourceTypeImpl changes
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Esun Kim
3c96517fc0
Simplified GRPC_ERROR_CREATE macros ( #31222 )
...
* Simplified GRPC_ERROR_CREATE macros
* Code migration
2 years ago
Craig Tiller
a23eae84c9
Revert "[flakes] Update flakiness ( #31121 )" ( #31173 )
...
This reverts commit bdc799af73
.
2 years ago
Craig Tiller
bdc799af73
[flakes] Update flakiness ( #31121 )
...
* update
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
9c98d67d7a
[c++14] absl::make_unique --> std::make_unique ( #31159 )
...
* [c++14] absl::make_unique --> std::make_unique
* fix
* fix
2 years ago
Esun Kim
ba8af0157b
Removing GRPC_ERROR_[REF|UNREF|IS_NONE] ( #31089 )
...
* Removing GRPC_ERROR_[REF|UNREF|IS_NONE]
* Clean up unnecessary error
* Fix
* Fix2
* Remove unnecessary else
2 years ago
Mark D. Roth
cdb7d2c93c
XdsEndpointResourceType: use ValidationErrors and add unit tests ( #31076 )
...
* simplify XdsResourceType::Decode() API
* fix xds_client_test
* xDS endpoint: use ValidationErrors to improve error messages
* fix sanity
* add xDS endpoint resource type test
* clang-format
* remove a couple of now-unnecessary end2end tests
* generate_projects
* fix xds_csds_e2e_test
* iwyu
* attempt to avoid ubsan failure
2 years ago
Mark D. Roth
e475e165a7
LB policies: convert to new JSON API ( #30468 )
...
* Declarative JSON parser
* Automated change: Fix sanity tests
* fix
* shrinking stuff a little
* static vtables
* separate fns
* simpler?
* make maps work
* windows fixes
* Automated change: Fix sanity tests
* simplify code
* Automated change: Fix sanity tests
* vtable-test
* dont always create vec/map impls for every type
* comments
* make error consistent
* move method private
* progress
* durations!
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* post-load
* Automated change: Fix sanity tests
* document JsonPostLoad() and add static_assert
* don't copy field names, to avoid length limitations
* use absl::Status
* accept either string or number for numeric values
* add test for direct data member of another struct type
* remove unused method
* add support for retaining part of the JSON wirthout processing
* update test for changes in Json::Parse() API
* add absl::optional support
* Automated change: Fix sanity tests
* fix tests, improve error messages, and add overload to parse to existing object
* remove overload of LoadFromJson()
* change special case for Json to instead use Json::Object
* fix build
* improve error structure, add missing types, and improve tests
* clang-format
* Automated change: Fix sanity tests
* update grpclb parsing
* fix build
* convert outlier_detection LB config
* convert priority LB policy
* convert ring_hash LB config
* add LoadJsonObjectField(), add LoadFromJson() overload that takes an ErrorList parameter, and add tests for parsing bare top-level types
* fix msan
* Automated change: Fix sanity tests
* WIP on RLS parsing conversion
* fix error message
* Automated change: Fix sanity tests
* fixed RLS parser tests
* fix error prefix in OD, priority, and ring_hash policies
* convert weighted_target policy
* convert xds_cluster_manager
* convert cds policy
* convert xds_cluster_resolver
* convert xds_cluster_impl
* Automated change: Fix sanity tests
* fix test
* fix xds_cluster_impl drop config parsing
* Automated change: Fix sanity tests
* attempt to fix mac build
* work around gcc6 problem
* Automated change: Fix sanity tests
* fix build
* add mechanism to conditionally disable individual fields
* fix build
* Automated change: Fix sanity tests
* fix move assignment operator
* fix build
* Automated change: Fix sanity tests
* fix build and simplify RLS duplicate key check
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix build
* iwyu
* fix build
* fix sanity
* add LoadRefCountedFromJson() and use it to eliminate some moves
* fix build
* Automated change: Fix sanity tests
Co-authored-by: Craig Tiller <craig.tiller@gmail.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Craig Tiller <ctiller@google.com>
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Mark D. Roth
6d792b6bce
xDS resource validation: identify extensions by type_url instead of name ( #31024 )
...
* xDS resource validation: identify extensions by type_url instead of name
* fix build
2 years ago
Craig Tiller
c2ab8c99bb
Revert "Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )" ( #30988 )
...
This reverts commit 96264e07b8
.
2 years ago
Craig Tiller
96264e07b8
Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )
...
This reverts commit 74c0d6fe3f
.
2 years ago
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