Commit Graph

51147 Commits

Author SHA1 Message Date
Ben Beasley c805c4e2d4
Replace deprecated Python “inspect.getargspec” (#29963)
This has been deprecated since Python 3.0 and is removed in Python 3.11.
We can use “inspect.getfullargspec” instead.

Fixes #29962.
2022-06-14 08:36:05 -07:00
Vignesh Babu 7417386956
Tcp connect cancellation implementation for posix (#29976)
* Changing grpc_tcp_client_vtable to include TCP cancel connect method

* fix unused parameter error

* update

* TCP cancel connect implementation for posix

* update boundary condition checking

* fix race condition

* update

* unref error

* fix sanity checks

* adding a tcp client posix connect cancellation test

* update per review comments

* Add comment

* fix sanity checks
2022-06-13 19:10:36 -07:00
Denny C. Dai e2b772cbd8
[gRPC/iOS] Interop test deflake (#29997) 2022-06-13 16:51:42 -07:00
Yash Tibrewal b9aec4def7
Status: Add comment about const ref parameters (#29973) 2022-06-13 15:31:03 -07:00
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
2022-06-13 14:01:13 -07:00
Craig Tiller e2ebebadfc
[iwyu] Add test/core/promise (#29994)
* [iwyu] Add test/core/promise

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-13 13:59:12 -07:00
Craig Tiller 840b38ccbc
Reland (again) fuzzing event engine (#29948)
* Revert "Revert "Reland fuzzing event engine (#29943)" (#29947)"

This reverts commit dd07751c03.

* fix
2022-06-13 12:49:56 -07:00
Denny C. Dai 4c60ba592e
[gRPC/iOS] Fix grpc_basictests_objc_ios due to unused function warning/error (#29988) 2022-06-13 10:15:29 +02:00
Hannah Shi 932878b1ce
[ObjC] unit tests with bazel (#29799)
* unit tests with bazel

* passing via --test_env from bazel command line

* remove env from BUILD; fix sanity check in run_one_test_bazel.sh

* add port server
2022-06-10 19:37:07 -07:00
Mark D. Roth 5cd446ddde
subchannel: accept RequestConnection() only in IDLE state (#29978)
* subchannel: accept RequestConnection() only in IDLE state

* fix crash
2022-06-10 17:39:12 -07:00
github-actions[bot] 8c780929c0
Automated change: Fix sanity tests (#29986)
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-10 14:21:14 -07:00
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>
2022-06-10 13:04:47 -07:00
Vignesh Babu f8eedac1fc
Changing grpc_tcp_client_vtable to include TCP cancel connect method (#29968)
* Changing grpc_tcp_client_vtable to include TCP cancel connect method

* fix unused parameter error

* update

* fix sanity checks
2022-06-10 10:56:34 -07:00
Anirudh Ramachandra a0da0ab243
Prevent double encoding of '%' in grpc_sockaddr_to_uri (#29982)
grpc_sockaddr_to_uri was changed recently to use the URI library directly. grpc_sockaddr_to_uri uses grpc_sockaddr_to_string internally and it has explicit logic for URI encoding of %. This causes % to be encoded as %2525 instead of %25 causing issues with decoding later on.

This is especially problematic for IPV6 addresses with zone identifiers where the interface is delimited by %.

@markdroth
2022-06-10 09:24:31 -07:00
Hannah Shi 3ad945947c
[ObjC]interop tests with bazel (#29800)
* interop tests with bazel

* remove env in BUILD

* clang format
2022-06-09 19:03:17 -07:00
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>
2022-06-09 18:00:38 -07:00
Vignesh Babu 475623c489
Provide means to control TCP frame sizes in response to high memory pressure (#29793)
* Provide means to control TCP frame sizes in response to high memory pressure

* static_cast

* fix sanity checks

* removing endpoint_write frame clipping. this could be added in a separate PR

* fix sanity checks

* remove unused parameter

* addressing review comments

* rename functions

* add a TODO

* fixing naming issues

* add changes to test

* Save ENOBUFS errno correctly in tcp_posix for subsequent handling

* updaing min_progress_size computation

* Revert "Save ENOBUFS errno correctly in tcp_posix for subsequent handling"

This reverts commit 5e1d10ac9b.

* fine tuning min progress size estimation and updating unit tests to verify returned min progress size
2022-06-09 17:54:59 -07:00
Lidi Zheng db684ad0dd
[xDS interop] Fix the affinity test support range (#29972) 2022-06-09 15:37:16 -07:00
Yash Tibrewal 691199ab80
xDS Istop Interop: Add differentiation on the protocol being used (#29965)
* xDS Istop Interop: Add differentiation on the protocol being used

* Fixes

* clang-tidy
2022-06-09 13:51:39 -07:00
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
2022-06-09 10:08:47 -07:00
apolcyn e6c6840db3
Revert "Reland bytestream removal (#29911)" (#29964)
* Revert "Reland bytestream removal (#29911)"

This reverts commit 98dcba2807.

* Automated change: Fix sanity tests
2022-06-09 08:51:06 -07:00
Alessio Buraggina 990bb66ebf
Add MacOS system roots loading support. (#29957)
This change includes:
* adding a cert file path for MacOS
* updating related test to run on MacOS too
* s/linux/supported/ since this now includes more platforms
* regenerating files affected by the name change
2022-06-09 07:20:45 -07:00
Lidi Zheng 347d9ed3ea
Add ring_hash_lb to trace logs for Python/C++ xds interop clients (#29956) 2022-06-08 15:41:29 -07:00
Lidi Zheng 2cae3827e6
[xDS interop] Disable api_listener_test for older Python versions (#29945) 2022-06-08 12:59:54 -07:00
Esun Kim c6ebbb5482
Added GRPC_ERROR_IS_NONE (#29937)
* Added GRPC_ERROR_IS_NONE

* Convert

* Fix
2022-06-08 11:24:20 -07:00
Alessio Buraggina 372d48b389
Add FreeBSD system roots loading support. (#29436)
Merge freebsd implementation with existing linux logic.
2022-06-08 10:02:04 -07:00
Craig Tiller 720f9d65c9
[resource_quota] Periodic update tracker (#29853)
* [resource_quota] Periodic update tracker

Periodic update type that tries to do updates at some measurable
timescale without polling the current time every tick, instead trying to
approximate how many ticks will be required to fill the desired
duration.

The intent here is that we use this in RQ to donate memory back
periodically whilst keeping timer checks off the fast path.

* fix

* Automated change: Fix sanity tests

* review feedback

* fix

* fix

* review feedback

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-06-07 20:15:28 -07:00
Craig Tiller dd07751c03
Revert "Reland fuzzing event engine (#29943)" (#29947)
This reverts commit 72e65b03cf.
2022-06-07 19:22:34 -07:00
Yash Tibrewal 1e9fe0b8b3
Istio Echo Server Implementation (#29940)
* Istio Echo Server Implementation

* New line fix

* Fix race
2022-06-07 19:13:01 -07:00
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