Commit Graph

51118 Commits

Author SHA1 Message Date
Yash Tibrewal 088a118c08
Add .cache to .gitignore (#29946) 2022-06-07 18:42:37 -07:00
Esun Kim c62364ac3d
Fix grpc_os_error (#29944) 2022-06-07 17:10:12 -07:00
Vignesh Babu c6811f0fb7
Revert "Revert "EventEngine::RunAt - Subchannel connection retries"" (#29905)
* Revert "Revert "EventEngine::RunAt - Subchannel connection retries (#29744)" (#29899)"

This reverts commit d89d42d6a0.

* fix bugs

* add missing include

* fix formatting

* fix unused headers

* adding grpc_init/grpc_shutdown to subchannel ctor/dtor
2022-06-07 16:01:38 -07:00
Craig Tiller 72e65b03cf
Reland fuzzing event engine (#29943)
* Revert "Revert "[event_engine] Fuzzing event engine (#29926)" (#29942)"

This reverts commit cb2a92b5bb.

* fix unused args
2022-06-07 15:45:18 -07:00
Mark D. Roth 27e6a094e1
client_lb_end2end_test: fix broken tests (#29938)
* client_lb_end2end_test: fix broken tests

* poll polling engine gives slightly different error messages
2022-06-07 15:32:47 -07:00
Craig Tiller cb2a92b5bb
Revert "[event_engine] Fuzzing event engine (#29926)" (#29942)
This reverts commit 9b0afb46f9.
2022-06-07 15:04:26 -07:00
Sergii Tkachenko 165dda75f9
xds-k8s: Fix the issue with Java PSM security tests skipped (#29925)
1. Fixes the issue with Java PSM security tests accidentally skipped because Java was missing from the list of languages, ref https://github.com/grpc/grpc/pull/28978
2. Invert the logic of `is_supported` methods, making them normally open
3. Make languages an `enum.Flag` to avoid accidental typos when listing the languages
4. Rename `XdsKubernetesTestCase.isSupported` to `XdsKubernetesTestCase.is_supported` to be consistent with `XdsUrlMapTestCase.is_supported`
5. Add extra logging
2022-06-07 14:23:45 -07:00
Ara Nguyen f3fc1d4d75
use constraints value in @platforms instead of @bazel_tools//platforms https://github.com/bazelbuild/bazel/issues/8622 (#29842) 2022-06-07 12:40:54 -07:00
Mark D. Roth 7c8d1b335c
LB policy API: add status to subchannel connectivity state notifications (#29867)
* 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

* add status to SubchannelInterface connectivity state notifications

* fix test to not depend on timing

* fix dumb overloaded method name bug

* fix sanity

* fix include path
2022-06-07 12:30:19 -07:00
Mark D. Roth 35b7d88654
client_lb_end2end_test: explicitly check failed RPC statuses (#29906)
* client_lb_end2end_test: explicitly check failed RPC statuses

* appease clang-tidy

* fix memory leak
2022-06-07 11:59:08 -07:00
Jan Tattermusch 954f141c6c
disable flaky grpc_authz test case on mac (#29934) 2022-06-07 20:43:15 +02:00
Sergii Tkachenko 3d50a60296
xds-k8s: Split base test class to allow for non-isolated tests (#29921)
Split `XdsKubernetesTestCase` into:

- `XdsKubernetesTestCase` top-level base class containing flag parsing logic and common `assert*` methods
- `XdsKubernetesIsolatedTestCase` extending `XdsKubernetesTestCase`, that is specific to tests that want to create ifra resources before each test, and destroy them after.

Now tests that don't need to create/destroy all resources on each run, can extend `XdsKubernetesTestCase` without having to override all setUp and implementing other unnecessary methods.
2022-06-07 10:53:08 -07:00
Craig Tiller 9b0afb46f9
[event_engine] Fuzzing event engine (#29926)
* [event_engine] Fuzzing event engine

* Automated change: Fix sanity tests

* fix

* Update fuzzing_event_engine.cc

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-07 10:50:55 -07:00
Craig Tiller a5b08d7a77
[iwyu] Improve iwyu for public headers (#29834)
* [iwyu] Improve iwyu for public headers

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-07 10:31:15 -07:00
Mark D. Roth 17bec49af7
rls: use UNAVAILABLE instead of status from RLS RPC, and test failure statuses (#29893)
* rls: use UNAVAILABLE instead of status from RLS RPC, and test failure statuses

* simplify
2022-06-07 10:11:20 -07:00
Craig Tiller 7854f4c50d
[build] Make compile_commands.json use NDEBUG (#29876)
* [build] Make compile_commands.json use NDEBUG

Ensures that things like clangd report the correct size information for
structures, which makes optimization a lot easier.

* remove -DNDEBUG from iwyus view

* fix
2022-06-07 09:28:04 -07:00
Craig Tiller de1e0b3e55
[client_channel] Minimal stack should not include retry filter (#29929) 2022-06-07 08:26:49 -07:00
Craig Tiller 50ae54dd1c
[fuzzing] Run fuzzers a little bit as a test (#29919)
* [fuzzer] Add a script to sample fuzzers

* remember the script

* add ci

* bleh

* fix

* Update sample_fuzzers.sh

* tweak

* tweak

* tweak

* tweak

* tweak

* fix fuzzer found bug

* add explainer

* make it bold af

* limit max fuzzing time in addition to runs
2022-06-07 07:37:59 -07:00
Esun Kim df3ce20913
Added basic tests for GetErrorGetStatus (#29918)
* Add test

* Fix ASAN errors

* Fix log string
2022-06-06 17:26:20 -07:00
Esun Kim 7a63bd5407
Fix grpc_wsa_error (#29917) 2022-06-06 14:01:31 -07:00
Sergii Tkachenko 53ce85cc3b
xds-k8s: Output logs timezone in the beginning of the tests (#28865) 2022-06-06 11:48:52 -07:00
Lidi Zheng dd17960bc8
[xDS interop] Limit subsetting test to master branch (#29904) 2022-06-06 11:32:41 -07:00
Craig Tiller 6e2d7b984d
[chttp2] Fix use-after-free (#29916) 2022-06-06 09:43:14 -07:00
Craig Tiller 98dcba2807
Reland bytestream removal (#29911)
* Revert "Revert "Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)" (#29894)" (#29910)"

This reverts commit 713a1581d5.

* fix
2022-06-05 18:42:28 -07:00
Craig Tiller 713a1581d5
Revert "Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)" (#29894)" (#29910)
This reverts commit 93cdc8b77e.
2022-06-05 11:01:48 -07:00
Doug Fawley a709faa868
Add v1.47.0 release of grpc-go to interop matrix (#29846) 2022-06-05 19:43:21 +02:00
Craig Tiller 93cdc8b77e
Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)" (#29894)
* Revert "Revert "[transport] Remove ByteStream (#29637)" (#29890)"

This reverts commit d53986657f.

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-04 15:51:16 -07:00
github-actions[bot] fe7e3c19d3
Automated change: Fix sanity tests (#29891)
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2022-06-03 20:37:19 -07:00
Mark D. Roth 61c3e34a4a
GoogleDefaultCreds: check xdstp URI authority (#29901) 2022-06-03 16:55:03 -07:00
Richard Belleville 569e397025
Fix error message (#29882) 2022-06-03 14:57:59 -07:00
Mark D. Roth 4d15e256ce
native dns resolver: fix crash bug on re-resolution (#29903) 2022-06-03 14:35:33 -07:00
Craig Tiller 9269732d15
Revert "Revert "[resource-quota] Remove rebind (#29851)" (#29896)" (#29897)
* Revert "Revert "[resource-quota] Remove rebind (#29851)" (#29896)"

This reverts commit ad4a387403.

* fix uninitialized variable
2022-06-03 12:29:52 -07:00
Vignesh Babu 25c76e7db6
Update asylo build config to include missing features (#29886) 2022-06-03 11:42:20 -07:00
Vignesh Babu d89d42d6a0
Revert "EventEngine::RunAt - Subchannel connection retries (#29744)" (#29899)
This reverts commit f38ef257d2.
2022-06-03 10:07:35 -07:00
Craig Tiller ad4a387403
Revert "[resource-quota] Remove rebind (#29851)" (#29896)
This reverts commit ba308b46ed.
2022-06-03 09:20:15 -07:00
github-actions[bot] 02af4c6b71
Automated change: Fix sanity tests (#29895)
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-03 09:10:31 -07:00
Craig Tiller b03ab65818
[call] Fix field type on grpc_cq_completion (#29880)
* [call] Remove unused field from grpc_cq_completion

1. This field is unused, and therefore unnecessary
2. In https://github.com/grpc/grpc/pull/20119 this field was changed
   from a node (8 bytes) to a queue (80 bytes)

Removing this field should save 480 bytes per outstanding call on each
of the client and server.

* fix
2022-06-03 08:21:09 -07:00
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
2022-06-03 06:44:26 -07:00
Craig Tiller d53986657f
Revert "[transport] Remove ByteStream (#29637)" (#29890)
This reverts commit aacf0e252b.
2022-06-02 19:34:49 -07:00
Sergii Tkachenko 32f1766cf5
xds-k8s README.md: improve basic setup docs (#29804)
* reorder sections
* recommend local-dev.cfg instead of grpc-testing.cfg to avoid confusion
* clarify security tests
2022-06-02 19:30:36 -07:00
Craig Tiller ba308b46ed
[resource-quota] Remove rebind (#29851)
* [resource-quota] Remove rebind

* fix
2022-06-02 16:22:48 -07:00
AJ Heller f38ef257d2
EventEngine::RunAt - Subchannel connection retries (#29744)
* EventEngine::RunAt - Subchannel connection retries

* Fix refcounting on retry timer reset

* Automated change: Fix sanity tests

* fix autofixer's goof

* Squashed commit of the following:

commit d4aed9e615
Author: Craig Tiller <ctiller@google.com>
Date:   Fri May 20 12:58:47 2022 -0700

    Revert "[c++14] Remove Capture type (#29327)" (#29748)

    This reverts commit 944c0b2ce9.

commit 965feb5726
Author: apolcyn <apolcyn@google.com>
Date:   Fri May 20 12:45:33 2022 -0700

    xds: Remove aggregate and logical dns clusters env var guard (#29742)

    * Remove aggregate and logical dns clusters env var guard

commit d5c8bbce51
Author: Sergii Tkachenko <sergiitk@google.com>
Date:   Fri May 20 10:44:59 2022 -0700

    xds-k8s: Do not recommend enabling mesh certs by default (#29743)

    This should covered separately per this note:

    > For more details, and for the setup for security tests, see
    ["Setting up Traffic Director service security with proxyless gRPC"](https://cloud.google.com/traffic-director/docs/security-proxyless-setup)
     user guide.

commit 1df32ca680
Author: AJ Heller <hork@google.com>
Date:   Fri May 20 10:18:53 2022 -0700

    Delete the EventEngine-driven iomgr implementation (#29654)

    This code is not compiled by default and has fallen out of sync with the
    rest of the codebase. There's a good chance it won't be used, given our
    current work to use an iomgr-drive EventEngine instead.

    This code will continue to live in git history, should we need to bring
    pieces of it back.

commit 944c0b2ce9
Author: Craig Tiller <ctiller@google.com>
Date:   Fri May 20 09:56:23 2022 -0700

    [c++14] Remove Capture type (#29327)

    * Remove Capture type

    * Automated change: Fix sanity tests

    * update

    Co-authored-by: ctiller <ctiller@users.noreply.github.com>

commit fd744e081d
Author: Esun Kim <veblush@google.com>
Date:   Fri May 20 08:54:33 2022 -0700

    Removed manylinux2010 python artifacts (#29734)

    * Removed manylinux2010 python artifacts

    * Fix

    * Fix2

    * Added cp37 to presubmit test for distribtest relying on cp37 artifacts

commit 5051566b27
Author: Jan Tattermusch <jtattermusch@google.com>
Date:   Fri May 20 11:07:04 2022 +0200

    Enable remote cache for selected ObjC bazel tests. (#29731)

    * enable remote cache for ObjC bazel tests

    * add bazel RBE cache for mac ios bazel builds

* release lock before unreffing

* rm some manual WeakRef-counting

* comments

* verbiage

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
2022-06-02 16:12:12 -07:00
Craig Tiller aacf0e252b
[transport] Remove ByteStream (#29637)
* A starter SliceBuffer implementation

* Add comments and fix sanity checks

* Minor fixes

* more minor fixes

* Addressing review comments and adding a slice_buffer_test

* fix sanity checks

* regenerate projects

* fixing undefined function error

* reverting changes from memory_allocator.cc and adding them to src/core/lib/slice/slice_buffer.cc to allow memory allocator lib to build correctly

* fix sanity checks

* adding an open source slice definition

* regnerate projects

* fix asan error

* Automated change: Fix sanity tests

* addressing review comments

* fix sanity checks

* regenerate projects

* update

* fix sanity checks

* Converting slice buffer to retarin ownership of the underlying ctype

* [slice_buffer] Introduce grpc_core::SliceBuffer

* add test

* Automated change: Fix sanity tests

* [byte-stream] Delete ByteStream

* progress

* progress

* missing files

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* progress

* sanity

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* progress

* iwyu

* fix

* progress

* fix

* fix

* progress

* code compiles

* fix?

* bogus assert

* Automated change: Fix sanity tests

* fix

* fix

* fix?

* fix

* fix

* better expression of function

* fix?

* Automated change: Fix sanity tests

* x

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* add fullstack test without retry filter

* debug

* missing files

* gc

* fix h2_full_no_retry

* remove headers

* fixes

* Automated change: Fix sanity tests

* x

* fix

* fix

* fix

* progress

* x

* tear apart flow control

* continue itnegration

* fix

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* cleanup

* Automated change: Fix sanity tests

* fix

* x

* x

* Revert "debug"

This reverts commit 0120a94492.

* undo debug

* fix

* Automated change: Fix sanity tests

* better inproc

* fixes

* iwyu

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix stalled streams

* properly handle non-terminal trailers

* fix test

* fix channelz test

* fix subchannel_stream_client

* fix server load reporting

* review feedback

* review feedback

* review feedback

* review feedback

* Automated change: Fix sanity tests

* remove compression test from python

* fix

* x

* Automated change: Fix sanity tests

* iwyu fix

* Revert "remove compression test from python"

This reverts commit 5fe0512077.

* cripple python tests

* Revert "fix"

This reverts commit 6df476b22f.

* Automated change: Fix sanity tests

* review feedback

* Automated change: Fix sanity tests

* fix

* fix

* fix

* ugh

Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-02 16:04:32 -07:00
Denny C. Dai 689f404d18
Switching to ios test runner for unit tests (#29740) 2022-06-02 15:57:06 -07:00
Sergii Tkachenko 3e8054cb3a
Add grpc-java 1.47.0 to client_matrix.py (#29860) 2022-06-02 15:36:34 -07:00
Anirudh Ramachandra e89883cc87
Revert "Revert "Fix grpc_sockaddr_to_uri to return URI encoded string. Also see #29323 which has a similar fix for unix abstract addresses."" (#29798)
Reverts #29639
2022-06-02 13:51:04 -07:00
Esun Kim 9f883ffe31
Workaround the UTF-8 encoding restriction of google.rpc.Status protobuf mssage (#29011)
* UTF-8 encoding guard

* No %c in the error message

* Added a test

* Revert "Added a test"

This reverts commit de30631bd8a2b72037bb11149f1d1d6cf45435ec.

* Revert "No %c in the error message"

This reverts commit 279b54b5b528f98e5064623234834f7670c8109c.

* Revert "UTF-8 encoding guard"

This reverts commit e60d8e1bf4285daddfffe84974bd9da7f40e851b.

* Clean up log messages to be a valid utf-8 string

* Store the message as a payload

* Fix for test

* Fix 2

* Update by review

* Revert the previous change

* Enforce test

* [slice] Move percent_encoding to its own target

* Percent encoding

* Regen projects

* Fix ubsan issue

* Fixed the test

Co-authored-by: Craig Tiller <ctiller@google.com>
2022-06-02 08:46:19 -07:00
Denny C. Dai afedfb110b
[gRPC/iOS] tvOS unit test fix and pass defs (#29858)
Fixing tvOS unit test build break and passing in interop test server addr via GCC_PREPROCESSOR_DEFINITIONS.
Previously this is passed directly via xcodebuild predefines but it is not visible to TestCommon lib
2022-06-01 21:12:20 -07:00
AJ Heller 5c743646e5
EventEngine::RunAt - promise/sleep (#29726)
* EventEngine::RunAt - promise/sleep

Also refactors time_util for easier conversion between
grpc_core::Timestamp/Duration to absl::Timestamp/Duration.

* move OnTimer to the state object

* generate_projects

* Automated change: Fix sanity tests

* undo time_util separation due to gpr_base dependency cycles

* less snark

* remove stale test & add missing unref

* Automated change: Fix sanity tests

* fix the auto-fixer's mistake (missing build dep)

* tidy

* rm Sleep::State

* Automated change: Fix sanity tests

* add missing exec_ctx into callback

Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
2022-06-01 17:39:10 -07:00
Denny C. Dai 175580aedc
[gRPC/iOS] Moving remote interop test from to interop test suite (#29808) 2022-06-01 16:35:47 -07:00