Commit Graph

7867 Commits

Author SHA1 Message Date
Eugene Ostroukhov 7bce35ed41
Revert "Revert "[lb pick_first] Enable random shuffling of address list" (#33497)
Original: #33496 

This reverts commit d59c8eb0f5.
2023-06-20 15:53:34 -07:00
Yash Tibrewal f8dd1a05dc
[http2] Rename configuration_test to ping_configuration_test (#33500)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-20 14:19:59 -07:00
Eugene Ostroukhov d59c8eb0f5
Revert "[lb pick_first] Enable random shuffling of address list (#33254)" (#33496)
Original PR: 33254

This reverts commit 7e14a322a2.
2023-06-20 11:25:01 -07:00
Craig Tiller b28c4048f9
[fuzzing] Fix failures found by max_connection_idle_fuzzer (#33487)
In chttp2: a pending but not yet sent goaway should block incoming
requests just like a sent one (we will sent that data momentarily!)

In the test:
- handle the case of the connection idle timeout happening before the
  request arrives at the server
- disable retries, as these cause the request to get stuck (as we don't
  have an additional server to retry on)

Fix b/287897932

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-20 08:51:05 -07:00
Craig Tiller 223117fc85
[fuzzing] Increase deadline to accommodate fuzzing injected delays (#33480)
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-20 15:49:46 +00:00
Craig Tiller a8132669f4
[flake] Raise deadline to eliminate flake in request_with_payload (#33488)
Observed on CI over the weekend (and quite reproducible)

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-20 08:46:34 -07:00
Craig Tiller 153f4e262c
[fuzzing] Increase deadline to accommodate fuzzing injected delays (#33481) 2023-06-20 08:46:16 -07:00
Eugene Ostroukhov 7e14a322a2
[lb pick_first] Enable random shuffling of address list (#33254)
Implementation of [gRFC A62](https://github.com/grpc/proposal/blob/master/A62-pick-first.md)
2023-06-20 08:41:36 -07:00
Yash Tibrewal e107ff5e99
[HTTP2] Fix inconsistencies in keepalive configuration (#33428)
Noticed some inconsistencies in our keepalive configuration - 

* Earlier, even if keepalive pings were disabled, we would be scheduling
keepalive pings at an interval of INT_MAX ms.
* We were not using `g_default_client_keepalive_permit_without_calls` /
`g_default_server_keepalive_permit_without_calls`. They are both false
by default but they can be overridden in
`grpc_chttp2_config_default_keepalive_args`.

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-17 17:15:47 -07:00
Ming-Chuan 0571147c3c
[BinderTransport] Disable flaky end2end tests (#33474)
Also reduce the number of parameter in test to speed it up
2023-06-16 17:16:06 -07:00
Craig Tiller 26ae8a1d96
[fuzzing] Fix fuzzer found test bug (#33471)
I think this is the right fix (doesn't seem deadline is related to the
test logic), but please check.
2023-06-16 15:59:12 -07:00
Craig Tiller 700012fca5
[fuzzing] Allow naming owners for fuzzers (#33470) 2023-06-16 15:26:14 -07:00
Craig Tiller 23f5810264
[no_logging] Restrict regexes by module name (#33468)
Promised follow-up to #33444
2023-06-16 13:00:31 -07:00
Craig Tiller a5272fa3c3
[test] Disable cq verifier logs for stress test (#33467)
They were tipping this test off into timeout land... but they're proving
useful for non-stress tests, so added an option just for here to
disable.
2023-06-16 09:33:41 -07:00
Craig Tiller ecb7549a99
[end2end] Increase deadline on filtered_metadata test after observed failure (#33466) 2023-06-16 16:19:15 +00:00
Mark D. Roth 1b31c6e0ba
[xDS] support "tls" channel creds in bootstrap file (#33234)
Implements [gRFC
A65](https://github.com/grpc/proposal/blob/master/A65-xds-mtls-creds-in-bootstrap.md).

Fixes #32977.
2023-06-16 08:07:58 -07:00
Mark D. Roth d8db05a068
[core e2e tests] increase RPC deadline in a couple of tests to avoid flakes (#33456) 2023-06-16 07:34:31 -07:00
Mark D. Roth 50e970246f
[LB policy API] add helper methods for getting channel creds (#33451)
This addresses a long-standing TODO that we couldn't do prior to #25586.

For details, see internal doc go/grpc-rls-callcreds-to-server.
2023-06-15 12:24:49 -07:00
Craig Tiller d4be39a6ab
[fuzzing] Use a smaller max delay for writes than run-after (#33455)
We want writes to participate in event re-ordering, but it's unlikely
that we can sustain one byte per 500ms on all tests and keep them
passing (which is the degenerate case right now).

Tune write delays down to 50ms for the moment, though I expect we'll
want to talk about going lower.
2023-06-15 10:44:47 -07:00
Craig Tiller e0ad9e5746
[end2end] Fix simple delayed request (#33450)
omgwtfbbq

This test relies on WAIT_FOR_READY semantics, but we don't do that in
the proxy, so it got assigned the wrong suite.
Fix the suite, fix the flakes.

Also add some handy dandy logging to help figure this stuff out in the
future.
2023-06-15 10:27:28 -07:00
Craig Tiller e5035063e8
[end2end] Further robustness tuning for uds path name selection (#33443)
I can still make the old algorithm break and assign duplicate names on
my machine... make it a little more robust.

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-15 10:17:46 -07:00
Craig Tiller cd96210215
[fuzzer] Fix event ordering in retry_max_concurrent_streams (#33454)
Just like #33405
2023-06-15 09:53:07 -07:00
Craig Tiller 133640507b
[end2end] Better logging, and a fix (by increasing timeout) on disappearing_server_test (#33444)
I've had local runs with a 10 second gap between creating the call and
issuing the first batch client side.

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-15 08:26:27 -07:00
Mark D. Roth d20e8d141b
[LB policies] add delegating helper classes (#33445)
This eliminates the need to modify every parent policy whenever we add
new helper methods. It should also eliminate some binary bloat.
2023-06-15 08:08:47 -07:00
Craig Tiller 1bfcca66fe
Revert "[testing] Adjust port selection algorithm on RBE" (#33448)
Reverts grpc/grpc#33429
2023-06-14 14:51:23 -07:00
Mark D. Roth 76919dc699
[xDS] require EDS resource name in CDS resources with xdstp names (#33425)
Implements the change described in
https://github.com/grpc/proposal/pull/377.
2023-06-14 13:53:16 -07:00
Craig Tiller 2055cce132
[fuzzing] Fix bug on endpoint shutdown whereby we leave read requests dangling (#33406)
Fix fuzzer found bug b/286716972

Follows up on https://github.com/grpc/grpc/pull/33266 but gets the edge
case right of when there's a read queued before the peer closes - in
that case we weren't waking up the read.
2023-06-14 12:22:44 -07:00
Craig Tiller 969c228934
[testing] Adjust port selection algorithm on RBE (#33429)
I've got a hypothesis that we're losing isolation between test shards
right now for "some reason".

This is a change to reflect test sharding in the port distribution that
we use, in an attempt to alleviate that.

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-14 12:21:59 -07:00
Craig Tiller 51a6857fa1
[end2end] Shard some longer running tests a little more to reduce timeout risk (#33439)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-14 09:05:04 -07:00
Craig Tiller 7e6606f5a6
[windows] Add a check for too long path names (#33418)
We should probably cap this so that our customers have a chance of
cloning the repository.

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-13 07:41:06 -07:00
Mark D. Roth 6a04e9c7e5
[subchannel interface] add method for cancelling data watches (#33359)
This paves the way for cases where we handle health watches in wrapped
subchannels, which we'll need as part of the dualstack backend design.
2023-06-12 15:28:48 -07:00
Craig Tiller 8e137e524a
[end2end] Reduce likelihood of two tests opening the same UDS socket (#33410) 2023-06-12 15:03:33 -07:00
Craig Tiller 14c63c70af
[fuzzing] Fix recursive mutex acquisition in fuzzing event engine (#33404)
Fixes internal fuzzing bug b/286717107
2023-06-12 16:31:35 +00:00
Craig Tiller 495bcbcb74
[fuzzing] Increase timeout to accomodate slow internal callbacks (#33407)
Fixes b/286780969
2023-06-12 15:46:30 +00:00
Craig Tiller eba6cecdcb
[fuzzing] Remove ambiguity in test case, make fuzzer pass (#33405)
Here the recv message batch 103 was returning end of stream.

Per the reasoning in
https://github.com/grpc/proposal/blob/master/L104-core-ban-recv-with-send-status.md
Sending status is the final thing for a call on the server, so requiring
a recv message to complete when we've sent status is getting into at
best a gray area in out spec.

Add a strict ordering between that recv and the sending of status to
make a more deterministic test.

fixes b/286708835, b/286727273
2023-06-12 15:02:56 +00:00
Yash Tibrewal c450a9d4eb
[xds] Fix test compilation (#33373)
Fix #33308
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-09 15:44:27 -07:00
Sergii Tkachenko de6ed9ba9f
[Python] Migrate from yapf to black (#33138)
- Switched  from yapf to black
- Reconfigure isort for black
- Resolve black/pylint idiosyncrasies 

Note: I used `--experimental-string-processing` because black was
producing "implicit string concatenation", similar to what described
here: https://github.com/psf/black/issues/1837. While currently this
feature is experimental, it will be enabled by default:
https://github.com/psf/black/issues/2188. After running black with the
new string processing so that the generated code merges these `"hello" "
world"` strings concatenations, then I removed
`--experimental-string-processing` for stability, and regenerated the
code again.

To the reviewer: don't even try to open "Files Changed" tab 😄 It's
better to review commit-by-commit, and ignore `run black and isort`.
2023-06-09 15:08:55 -07:00
Craig Tiller 82534bab24
[end2end] Shard some longer running tests a little more to reduce timeout risk (#33387)
Also drop a few deadlines so that tests can run faster (where that's
safe)


<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-09 12:17:29 -07:00
Craig Tiller d8f3dab96c
[end2end] Binary & fuzzer per test .cc (#33374)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-08 15:38:53 -07:00
Yousuk Seung c03cd744b2
[WRR] Prefer application_utilization to cpu_utilization (#33355)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-07 17:38:29 -07:00
Yadong 18c42a21af
[core] Add support for vsock transport (#33309)
Revert "Revert "[core] Add support for vsock transport"
(https://github.com/grpc/grpc/pull/33276)"
This reverts commit
c5ade3011a.

And fix the issue which broke the python build.

@markdroth @drfloob please review this PR. Thank you very much.

---------

Co-authored-by: AJ Heller <hork@google.com>
2023-06-07 13:55:53 -07:00
Craig Tiller 1f85fb21f2
[metadata] Improve codegen for name lookups (#33237)
The approach of doing a recursive function call to expand the if checks
for known metadata names was tripping up an optimization clang has to
collapse that if/then tree into an optimized tree search over the set of
known strings. By unrolling that loop (with a code generator) we start
to present a pattern that clang *can* recognize, and hopefully get some
more stable and faster code generation as a benefit.

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-06-06 14:43:55 -07:00
Craig Tiller 72da46fa5c
[fuzzing] Handle closing after the final write in fuzzing-event-engine (#33266)
If an endpoint closes it should still report any pending writes.
2023-06-05 12:00:32 -07:00
Mark D. Roth 6b4a1e4243
[outlier detection] hack to prevent OD from working with pick_first (#33336)
As per discussion in #32967.
2023-06-05 10:59:40 -07:00
Craig Tiller f964961ba8
[fuzzing] Tune down max delay (#33345)
This had been intended to be 500ms for the first round, but
inadvertently got bumped up during some last minute investigations.

Tune it back down, let things settle out, and then see whether we want
to increase it or not.

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-05 17:22:53 +00:00
apolcyn 889412c416
[Rls] de-experimentalize RLS in XDS (#33290)
Integration tests are passing, so we should be ready to
de-experimentalize.

Related: internal bug b/265209578
2023-06-02 12:26:45 -07:00
AJ Heller 87afec2696
[Reland][EventEngine] Make the thread pool quiesce 10x faster, and add a small stress test" (#33316) (#33317) 2023-06-01 13:20:57 -07:00
AJ Heller 925ff588a3
Revert "[EventEngine] Make the thread pool quiesce 10x faster, and add a small stress test" (#33316)
Reverts grpc/grpc#33223. Breaks internal build.

```
work_stealing_thread_pool.cc:180:27: error: format specifies type 'double' but the argument has type 'gpr_cycle_counter' (aka 'long') [-Werror,-Wformat]
```
2023-06-01 11:28:21 -07:00
AJ Heller fbc0b38675
[EventEngine] Make the thread pool quiesce 10x faster, and add a small stress test (#33223)
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2023-06-01 10:35:07 -07:00
Craig Tiller 21996c3784
[end2end] Force crash on failure to receive an event (#33260)
When I converted these tests there was an intent to use gtest failures
to see past an unexpected event/no event received error - however that
doesn't work out because our tests rely on the prior events happening.

What we got instead was misattributed failures, folks chasing wild
theories on uninitialized data, dogs and cats living together, mass
hysteria.

Let's just crash and see if it makes diagnosis actually easier.

<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-06-01 08:33:06 -07:00