Commit Graph

12494 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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 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
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
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
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
Craig Tiller ad4a387403
Revert "[resource-quota] Remove rebind (#29851)" (#29896)
This reverts commit ba308b46ed.
2022-06-03 09:20:15 -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
Craig Tiller ba308b46ed
[resource-quota] Remove rebind (#29851)
* [resource-quota] Remove rebind

* fix
2022-06-02 16:22:48 -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
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
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
Yash Tibrewal 5d9cdc8e67
xds: Add XdsLbRegistry (#29756)
* xds: Add XdsLbRegistry

* Formatting

* Fix upb output

* Allow alternative type url for Custom LBs

* Cleanup

* Reviewer comments

* Add some comments

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Fix tests

* Fix tests

* Fix tests

* Fix tests

* Fix tests

* Unused parameters

* Change to make TextFormat usage work internally

* Fix namespace qualification error
2022-06-01 14:08:26 -07:00
Mark D. Roth bbf56baa88
client_lb_end2end_test: fix flake in RoundRobinTest.UpdateInError (#29847) 2022-06-01 07:47:19 -07:00
Yash Tibrewal 8cdf8beafd
xDS: Workaround to get gRPC clients working with istio (#29841)
* xDS: Workaround to get gRPC clients working with istio

* Formatting

* Comment test too

* Disable instead of commenting
2022-05-31 17:39:46 -07:00
apolcyn b8e3e59b15
testing: fix address sorting test on macos by removing a fragile assumption (#29820)
* Fix address sorting test: remove a fragile assumption
2022-05-31 16:24:40 -07:00
Mark D. Roth 65a7ce3f04
Revert "Revert "server: add method to expose authority seen by server (#29768)" (#29806)" (#29807)
This reverts commit e39e943529.
2022-05-31 14:15:45 -07:00
Mark D. Roth 64b422091e
xds_core_end2end_test: increase timeouts to fix flakiness (#29803)
* xds_core_end2end_test: increase timeouts to fix flakiness

* clang-format
2022-05-27 14:34:53 -07:00
Mark D. Roth a4cbeee699
xds_core_end2end_test: increase RPC timeout on BootstrapSource test (#29802) 2022-05-27 14:32:53 -07:00
Craig Tiller 59ea410d17
[max connection age] fix flakes (#29823)
* fix flakes

* bah
2022-05-27 11:11:17 -07:00
Mark D. Roth c0a8f5c98c
test: restore original slowdown factor for MSAN and UBSAN (#29822) 2022-05-27 10:56:10 -07:00