* xds_client_test: increase test size so it gets a longer timeout
* shard test instead of increasing size
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
* Revert "Revert "xDS RouteConfig: use ValidationErrors and add unit test (#31418)" (#31653)"
This reverts commit 335b74fea7.
* use auto instead of explicitly naming the protobuf map type
Specific changes:
- Use absl::variant<> for HashPolicy types.
- Pull validation of resulting LB policy configs out of ClusterSpecifierPlugin registry and into RouteConfig validation.
- Don't ignore missing Any fields in HTTP filter configs if is_optional is true, since is_optional should apply only to unsupported filter types, not to malformed resource protos.
- Use ExtractXdsExtension() for HttpConnectionManager config itself.
- Minor API improvements to StatusCodeSet to make it a bit more useful in tests.
- Changed StringMatcher to return the underlying error message when a regex fails to compile.
- Fix a bug whereby a ClusterSpecifierPlugin would not be returned if it was not used in a vhost, even if it was used in another vhost.
* LB policy test framework: add helper methods and improve debuggability
* add ExpectPickFail() method
* fix build
* STL magic
* clang-tidy
* more clang-tidy
* add WaitForConnectionFailed() and log unexpected pick results
* add check for proper status for the connectivity state
Add a check that SEND_STATUS_FROM_SERVER and RECV_MESSAGE are not in the same batch.
This is necessary pre-work for #31204 and implements part of grpc/proposal#336.
Also eliminates fling instead of updating it:
My expectation is nobody has looked at this corner in many years
It's not a benchmark we want: concentrating on a microbenchmark that doesn't include a binding layer caused us to favor designs that emphasized a lightweight core at the expense of a expensive bindings. We should consider the whole.
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* EventEngine::RunAfter migration for handshaker
* Fix build and add execution contexts to the top of the timer function
stack
* Add event_engine_ member object, remove OnTimeoutFn and self.reset()
before goes out of scope
* Run iwyu and fix_build_deps.py
* fix: more cleanup
* fix: restore unrelated files
* fix: run tools/distrib/clang_format_code.sh
* re: pass EventEngine as shared_ptr to HandshakeManager
* fix: ran tools/distrib/sanitize.sh
* fix: resolve review comment to initialize event_engine_ from the channel
args passed in DoHandshake instead of passing through constructor
* sanitize
* fix: resolve comments
* fix: one more
* Revert "Revert "XdsClient: fix behavior for does-not-exist timer and stream termination (#31446)" (#31501)"
This reverts commit 824049da60.
* trigger does-not-exist timer on send_message completion instead of channel connectivity state
* reorganize and de-dup tests
* XdsClient: don't run does-not-exist timer while channel is in TRANSIENT_FAILURE
* attempt to address test flakiness
* fix test cleanup
* add tests for long connection attempts
* improve comments
* add another test case
* test changes -- not all passing yet
* improve interface for connectivity state reporting
* report error on stream status only if no response seen
* iwyu
* fix test flakes
* Revert "Revert "[EventEngine] Refactor TimerManager to leverage a shared ThreadPool (#31392)" (#31425)"
This reverts commit 1cbf6d64ae.
* fix deadlock on windows engine shutdown