Commit Graph

4032 Commits

Author SHA1 Message Date
Yash Tibrewal a61bb8ed5b
Move service config code out of client_client to its own target (#27683)
* Move service config code out of client_client to its own target

* Fix BUILD

* Fix test build

* Reviewer comments

* Reviewer comments

* Automated change: Fix sanity tests

* Reviewer comments

Co-authored-by: yashykt <yashykt@users.noreply.github.com>
2021-10-12 18:30:04 -07:00
Craig Tiller 0e6ced8800
Revert "Move metadata setting into HPackParser (#27545)" (#27686)
This reverts commit f57a1f7d8c.
2021-10-12 08:37:00 -07:00
Craig Tiller f57a1f7d8c
Move metadata setting into HPackParser (#27545)
* forward work to get append, limit check into parser

* further cleanup

* Remove chttp2_incoming_metadata_buffer

* Automated change: Fix sanity tests

* test fixes

* fix cronet

* wip

* first pass mementofication of parsing - libgrpc compiles

* further progress

* fixes

* fixes

* fix leak

* Automated change: Fix sanity tests

* fix leak

* fixes

* x

* improve fuzzer

* init ordering fix

* Update hpack_parser_table.h

* Update hpack_parser.cc

* Update hpack_parser_test.cc

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* i mustache myself why

* fix use after free

* Automated change: Fix sanity tests

* fixes

* eliminate second pass metadata - this is an illegal frame and fails the new parser

* handle mementos with size > sizeof(intptr_t)

* fix

* add parsed metadata header, test

* Automated change: Fix sanity tests

* fix includes

* phase1

* phase2

* Update parsed_metadata.h

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-11 20:02:29 -07:00
Craig Tiller a21ad2c296
Remove UDP code - it's unused (#27595)
* Remove UDP code - its unused

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-11 13:34:47 -07:00
Craig Tiller 8d8d07139c
Fix client idle filter (#27611)
* trial-change

* compiles!

* added test

* Automated change: Fix sanity tests

* update test

* Fix slow idle detection

* review feedback

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-08 12:30:11 -07:00
Lidi Zheng 60028a82a9
[Aio] Resolve deprecated warnings from asyncio (#27635)
* [Aio] Resolve deprecated warnings from asyncio

* Use 3.6 compatible way of creating an asyncio.Task
2021-10-07 14:05:09 -07:00
Richard Belleville 7aa43b7a55
Create Bazel gevent test harness (#27507)
* WIP

* Add gevent test suite run under Bazel.

* Fix things up

* Yapf

* Fix up Bazel files

* Make py_grpc_test fancier

* Attempt to fix Windows RBE

* Attempt to kick GitHub

* Fix Python 2 runs

* Yet more fixes

* And the patch file too

* I am an idiot

* Mark gevent tests flaky

* Try to make rules_python more tolerant

* Typo

* Exclude reconnect test from gevent

* Remove unnecessary parts of patch

* Buildifier

* You saw nothing

* isort

* Move py_grpc_test to an internal-only file

* Review comments

* More reviewer comments

* Review
2021-10-07 14:04:34 -07:00
Craig Tiller 79ef60f079
Integrate new resource quota, event engine (#27522)
* Integrate new resource quota, event engine

* Automated change: Fix sanity tests

* windows fix

* Automated change: Fix sanity tests

* Update memory_allocator.h

* Automated change: Fix sanity tests

* first round review feedback

* review feedback

* Automated change: Fix sanity tests

* Update memory_quota.h

* get re-export formatted right

* Automated change: Fix sanity tests

* Update memory_allocator.cc

* Automated change: Fix sanity tests

* MemoryOwner has-a MemoryAllocator

* using fix

* review feedback

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-10-06 13:29:57 -07:00
Mark D. Roth 3d83dd3776
Revert "Revert "centralize handling of channel's default authority (#27544)" (#27616)" (#27624)
This reverts commit 0611f7c9b3.
2021-10-06 12:15:55 -07:00
Esun Kim c56b0a3818
Update boringssl to the latest (#27606)
* Change boringssl branch name

* update submodule boringssl-with-bazel with origin/main-with-bazel

* update boringssl dependency to main-with-bazel commit SHA

* regenerate files

* Increment podspec version

* generate boringssl prefix headers
2021-10-06 10:02:23 -07:00
Mark D. Roth 0611f7c9b3
Revert "centralize handling of channel's default authority (#27544)" (#27616)
This reverts commit f0a0628795.
2021-10-06 07:26:24 -07:00
Mark D. Roth f0a0628795
centralize handling of channel's default authority (#27544)
* centralize handling of channel's default authority

* clang-format

* fix backup poller bug
2021-10-05 11:57:47 -07:00
Lidi Zheng 9978223a26
Add python_requires field to grpcio-* packages (#27495)
- Update the run_tests.py and distrib tests
- Update the Dockerfiles
2021-09-28 16:01:15 -07:00
Craig Tiller 9b41852a5e
channel_init --> core configuration system (#27347)
* channel_init --> core configuration system

* Automated change: Fix sanity tests

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* eliminate grpc_base_c

* fixes

* fix merge

* fix

* update visibility

* fixes

* feedback

* fix comment

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-27 15:51:39 -07:00
Craig Tiller c5172a134e
Fix build splitup for slices. (#27452)
* slice fix

* fix properlike

* Automated change: Fix sanity tests

* actually delete the code that should have been

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-23 16:36:43 -07:00
Craig Tiller d4407b7e59
Revert "Remove dead code (#27445)" (#27461)
This reverts commit 693f36f91c.
2021-09-23 12:56:40 -07:00
Craig Tiller 693f36f91c
Remove dead code (#27445)
* Remove dead code

* Automated change: Fix sanity tests

* build

* remove benchmark

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-22 19:31:00 -07:00
Craig Tiller ffa4365031
Separate common slice utilities, grpc_error into their own libraries (#27441)
* make error independent

* Separate grpc_error into its own library

This is forward work to move Closure, ExecCtx into their own libraries
in order to make use of them in the activity code for resource quota
wakeups.

* Automated change: Fix sanity tests

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-22 18:44:32 -07:00
Craig Tiller 66ae0d5c08
Separate slices from mdelems for static data (#27372)
* separate slice into internal and refcount, with refcount being the minimal base

* python3-ize

* Separate slices from mdelems for static data

Allows us to separate a small build target with just some slice basics
from the rest, which will help simplify the build system longer term.

Additionally exposed an opportunity to eliminate an init function.

Should also help in a month or so when it's time to jettison interned
metadata and slices entirely.

* fix compilation

* Automated change: Fix sanity tests

* fixes

* fixfixfix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-21 17:27:54 -07:00
Lidi Zheng 46257815d4
Disable grpc_status_test for sync stack in Python2 (#27374)
* Disable grpc_status_test for sync stack in Python2

* Correct the if condition

* Also disable this test in Bazel

* Clean the unnecessary import in BUILD
2021-09-17 10:30:09 -07:00
donnadionne b9a997be11
Bump version to v1.41.0 (#27370)
* Bump version to v1.41.x

* Regenerate projects
2021-09-16 16:32:34 -07:00
Esun Kim 91e0660638
Replace grpc_error* with grpc_error_handle (#27311)
* Replace grpc_error* with grpc_error_handle

* fix python build
2021-09-14 16:33:42 -07:00
francisco souza f97bf05169
python: fix type annotation for the _metadata field (#27251)
It's a tuple with many MetadatumType's.

Co-authored-by: francisco souza <fsouza@users.noreply.github.com>
2021-09-13 16:25:53 -07:00
Richard Belleville 33dd1bd8d0
Report Python xDS Interop Client SIGINTs (#27289) 2021-09-08 14:46:48 -07:00
Craig Tiller 999e36fb31
Rebuild HPACK encoder table as C++ (#27192)
* Rebuild HPACK encoder table as C++

* move comment

* incguards

* build

* Automated change: Fix sanity tests

* c++ initialization ftw

* Automated change: Fix sanity tests

* Add missing header

* Add missing header

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-09-02 14:55:33 -07:00
Lidi Zheng 4729f6fdcc
Add Python 3.10 drop 3.5 (#26074)
* Add Python 3.10.0rc1 binary wheels

* Drop Python 3.5 artifacts

* Document the drop of 3.5

* Fix the wrong pip pointer

* Update manylinux2014 to a newer version, remove 3.5 distribtest

* Update manylinux aarch64 to see if the absl error go away

* Use the preferred alias

* Allow different wheel library to produce different tag order

* Remove unused shell var and log produced wheels

* Use copy instead of move

* Make bash happy about the wildcard

* Upgrade the debian image to use 3.5+ Python

* Polish the comments for the Dockerfiles
2021-09-02 14:02:53 -07:00
Richard Belleville 8fca16ac45
Add compute_engine_channel_credentials to __all__ (#27235)
* Add compute_engine_channel_credentials to __all__

* And amend api_test
2021-09-02 13:25:15 -07:00
donnadionne 022cff7d7c
update submodule boringssl-with-bazel with origin/master-with-bazel (#27208)
* update submodule boringssl-with-bazel with origin/master-with-bazel

* update boringssl dependency to master-with-bazel commit SHA

* regenerate files

* Updated sha256

* generate boringssl prefix headers

* Increment podspec version
2021-09-01 11:25:01 -07:00
AJ Heller 2d16865693
Delete libuv-iomgr implementation and GRPC_UV build option (#27188)
This has been unmaintained for years, last supported in gRPC-core v1.24.
2021-08-31 13:26:43 -07:00
Ashitha Santhosh 1ff1f8fd83
SDK authorization filter. (#26468)
* SDK authorization filter.
2021-08-25 21:00:35 -07:00
Lidi Zheng d3d5dec5b8
[Aio] Remove custom IO manager support (#27090)
* [Aio] Remove custom IO manager support

* Patch
2021-08-24 12:15:35 -07:00
Nicolas 'Pixel' Noble 69661fb82e Regenerate projects 2021-08-21 02:04:00 -07:00
Craig Tiller 4c8a0d91c6
Call into plugin registry from config code (#27041)
* Call into plugin registry from config code

* Automated change: Fix sanity tests

* Remove unused name

* Remove unused name

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-08-18 08:39:08 -07:00
Taner Topal da37344a8a
Fix docstring gramma in Python module (#26959) 2021-08-17 12:39:34 -07:00
Tamir Duberstein 00c03c55ff
Implement type safety for TLS (#26942)
* Implement type safety for TLS

This is mostly free when compiler support is available, but requires
careful templating when implemented using pthread.

Significantly slimmed the tls.h interface; it now only defines the "TLS
keyword" for each supported compiler, delegating enforcement of correct
usage (i.e. must be static) to the compiler itself.

Implemented implicit conversion for the pthread wrapper so it can be
used (mostly) the same as native support. Notable exception to this is
that static_cast<void*> is needed when printing a pointer stored in TLS
as %p.

* Use GPR_THREAD_LOCAL macros consistently
2021-08-11 13:24:26 -07:00
Lidi Zheng 826da6136c
Update Envoy API to the latest version (2021-07-30) (#26848)
* Bump Envoy and related submodules to latest

* Update googleapis

* Update scripts for newer submodules

* Update udpa

* Add opentelemetry

* Python changes for opentelemetry

* Update udpa in check_submodules

* Add opentelemetry to check submodules

* Regenerate upb files

* Add new proto dependency to upb-gen and Bazel

* Regenerate project
2021-08-03 09:12:42 -07:00
Nicolas Noble a325d7f77a
Pointing the protobuf submodule to the new URL (#26811)
* Pointing the protobuf submodule to the new URL

* Also changing WORKSPACE dependencies

* More references to the old URL...
2021-07-29 10:19:16 -07:00
Lidi Zheng 6134f4ed5c
Allow Python interop client to be configured for EmptyCall (#26804) 2021-07-27 16:41:36 -07:00
Lidi Zheng 2231c2ba77
Introduce Python import sorting to our sanity test suite (#26768)
* Add isort_code.sh to sanity tests

* Run tools/distrib/isort_code.sh

* Fine tune the import order for relative imports

* Make pylint and project generation happy

* Fix a few corner cases

* Use --check instead of --diff

* The import order impacts test result somehow

* Make isort print diff and check output at the same time

* Let tools/run_tests/python_utils be firstparty library

* Run isort against latest HEAD
2021-07-26 12:31:21 -07:00
Lidi Zheng 5820e152cd
Remove Python 2.7 binary wheel generations (#26691)
* Remove Python 2.7 binary wheels

* Make sure pip won't pick-up newer versions

* Attempt to fix the distribtest

* Fallback to virtualenv==16.7.9 for 34 and 35

* Remove 34 from binary wheel distribtests
2021-07-23 08:20:39 -07:00
dpcollins-google dbec97eb0a
[Aio][fix] catch application exception in request iterators (#26706)
* fix: If client request iterators raise exceptions, _consume_request_iterator should not dump its stack to stderr

fixes: #25339

* fix: use format_exc

* fix: linter

* fix: lint round 2
2021-07-22 10:22:55 -07:00
AJ Heller a10a5bf655
Changes from feedback on gRFC L82: gRPC Core EventEngine API (#26733) 2021-07-21 13:27:04 -07:00
Lidi Zheng ab00c88a41
[Aio] Skip TestWaitForReady on Windows (#26729)
* Mark TestWaitForReady as flaky

* Skip wait for ready test on Windows

* Bazel is not currently used for testing on Windows
2021-07-19 23:41:28 -07:00
yihuaz b9a69481c2
Revert "Support user provided "scope" in JWT and GDC (#26577)" (#26645)
This reverts commit 6df967966b.
2021-07-09 15:05:34 -07:00
apolcyn 0e6c888574
Bump version to 1.40.0-dev (#26600)
* Bump version to 1.40.0

* Regenerate projects

* Tweak version.cc.template to satisfy formatter

* Regenerate projects
2021-07-02 14:33:34 -07:00
yihuaz 6df967966b
Support user provided "scope" in JWT and GDC (#26577)
* support scope overriding in jwt and gdc

* fix formatting

* fix bazel build issue

* fix clang tidy
2021-07-01 10:26:33 -07:00
Vijay Pai ea4b68e7a1
Drop experimental tags from core callback API (#26535) 2021-06-24 17:20:43 -07:00
yihuaz 932dbed49d
Revert "Allow to specify user provided audience in google default credentials and JWT credentials (#26456)" (#26531)
This reverts commit 5a91a513fd.
2021-06-22 16:30:30 -07:00
Dante Camarena a3a7e55367
Python AIO: Match continuation typing on Interceptors (#26500) 2021-06-22 09:53:14 -07:00
AJ Heller 25d91e3091
New iomgr implementation backed by the EventEngine API (#26026)
This code adds an iomgr implementation that's backed by an EventEngine. This uses the EventEngine API alone, and separate work will introduce an EventEngine prototype to plug into it.

See also drfloob#1: @nicolasnoble has a pull request against this branch, implementing the libuv-based EventEngine. One goal here is to implement the iomgr code such that it can be merged independently without affecting normal builds.

This implementation can be built using bazel build --cxxopt='-DGRPC_USE_EVENT_ENGINE' :all

Some shortcuts are being taken to get a working, testable version of the engine. EventEngines are not pluggable, for example.
2021-06-18 12:30:09 -07:00
Jan Tattermusch 451127740d
Revert "Replace in-house rand with absl::Random for backoff (#26463)" (#26476)
This reverts commit b5191d0930.
2021-06-14 21:56:35 -07:00
Esun Kim b5191d0930
Replace in-house rand with absl::Random for backoff (#26463)
* Replace in-house rand with absl::Random for backoff

* Run sanity

* Added bscrypt dependency
2021-06-11 16:29:45 -07:00
ZhenLian 5a91a513fd
Allow to specify user provided audience in google default credentials and JWT credentials (#26456)
* support user provided audience in gdc and jwt
2021-06-11 09:44:46 -07:00
Lidi Zheng a3ae8e00a2
Revert "Allow to specify user provided audience in google default credentials and JWT credentials (#26392)" (#26440)
This reverts commit 304262e135.
2021-06-07 15:24:54 -07:00
Ashitha Santhosh b9a643a817
Static policy provider implementation. (#26134) 2021-06-03 23:18:08 -07:00
yihuaz 304262e135
Allow to specify user provided audience in google default credentials and JWT credentials (#26392)
* support user provided audience in gdc and jwt

* fix 1st round of comments

* fix ruby and php to use new GDC API

* fix python clang issue

* address 2nd round of comments

* fix string_view issue

* remove length param in string_view constructor
2021-06-03 16:02:19 -07:00
Lidi Zheng 66b86cec32
Disable two aio tests for aarch64 for strange platform behavior (#26409)
* Disable two aio tests for aarch64 for strange platform behavior

* Make sanity test happy
2021-06-02 14:54:07 +02:00
Richard Belleville 1ca87cd2d3
Address Synchronization Comment from #26405 (#26410)
* Fix metadata plugin for concurrent invocations

* Disable broad-except lint error

* Use WaitGroup instead of threading.Event

* Fix typo

* Use only a single channel

* Yapf
2021-06-01 17:21:53 -07:00
Richard Belleville 67f0330c10
Fix metadata plugin for concurrent invocations (#26405)
* Fix metadata plugin for concurrent invocations

* Disable broad-except lint error
2021-06-01 15:25:56 -07:00
Richard Belleville 05aa736840
Fix bazel copyright notices (#26353)
* Add copyright to Bazel files

* Add check for copyright in Bazel files

* Remove unintentional file
2021-05-25 12:15:30 -07:00
Isabel Andrade aaa7f13b17
Handle gevent exception in gevent poller (#26058)
* Handle gevent exception in gevent poller

Currently the gevent poller ignores exceptions raised by
`gevent.wait()`, which causes greenlets to be unkilable while waiting.

This change handles exceptions raised while waiting in the gevent
poller, cancels the gRPC call and propagates the error back to the
application.

Co-authored-by: Kostis Lolos <klolos@arrikto.com>

* Fix imports in header files

* Lint gevent tests

* Set grpc event type to GRPC_QUEUE_SHUTDOWN upon cancel error

To prevent `grpc_completion_queue_next()` to be called indefinitely when
the queue is shut down.

* Remove unnecessary `except *`

* Improve gevent tests

* Format code

* Remove unnecessary import

Co-authored-by: Kostis Lolos <klolos@arrikto.com>
2021-05-24 15:03:29 -07:00
Richard Belleville c0f346423c
Fixes #26322 (#26340)
* Fixes #26322

* Support runtimes without contextvars

* Hoist member declaration higher
2021-05-21 17:12:36 -07:00
Richard Belleville cc22375572
Fix Python xDS k8s Interop (#26158)
* Increase core logging verbosity

* Make repo URL injectable

* Apparently that's not allowed

* Use ipv4 in interop server

* Add CSDS to Python interop client

* Revert CI script change

* Scale back logging

* Move env variable to dockerfile

* And Python too
2021-05-20 17:58:29 -07:00
Yash Tibrewal a989179ace
Bump master to v1.39.0 (#26207)
* Bump version to v1.39.0

* Regenerate projects

* Buildifier format
2021-05-11 06:49:10 -07:00
Lidi Zheng 25f5399b41
Add grpcio-admin Python package (#26166)
* Add grpcio-admin Python package

* Polish package content

* Make Linux artifact build happy

* Improve documentation
2021-05-05 13:20:50 -07:00
Lidi Zheng dc63d6a53e
Add CSDS API to Python (#26114)
* Add grpcio-csds pacakge

* Remove unused file

* Fix the proto import path issue

* Update the CSDS package and xds-protos for PY2

* Make tests happy

* Fix Bazel proto dependency

* Add Python2 tests for CSDS
2021-05-03 11:54:34 -07:00
Lidi Zheng ff79a925ed
Revert "Revert "Expose code and details from context on the server side (#25457)" (#26112)" (#26143)
This reverts commit ff9ece1588.
2021-05-03 10:36:36 -07:00
Mark D. Roth 4c40ee3f78
move parse_address and sockaddr_utils out of iomgr directory (#26077)
* move parse_address and sockaddr_utils out of iomgr directory

* clang-format

* fix python

* fix for import

* fix build file for import
2021-04-30 08:21:58 -07:00
Yash Tibrewal fe56d1a39a
Update boringssl submodule (#26101)
* update submodule boringssl-with-bazel with origin/master-with-bazel

* Update boringssl dependency to master-with-bazel commit SHA

* Generate projects

* Updated boringssl sha256

* Generate boringssl prefix headers

* Increment podspec version
2021-04-29 11:10:00 -07:00
Alisha Nanda ff9ece1588
Revert "Expose code and details from context on the server side (#25457)" (#26112)
This reverts commit 506db80475.
2021-04-28 15:11:25 -07:00
Chris St. Pierre 506db80475
Expose code and details from context on the server side (#25457)
* Expose code and details from context on the server side

This makes them accessible to server-side interceptors.

* Complete synchronous implementation

* Add experimental API notes

* Complete async implementation

* Revert bogus copyright change

* Fix metadata tests for py2.7

* Add new test to tests.json

* Check error codes in tests

* Bump autogenerated Python version
2021-04-28 10:15:11 -07:00
Yash Tibrewal 4768210ec8
s/OnServingStatusChange/OnServingStatusUpdate (#26010)
* s/OnServingStatusChange/OnServingStatusUpdate

* Update python files
2021-04-26 15:36:35 -07:00
Richard Belleville 3732ee0317
ADD Python xDS security interop test CI scripts (#26073) 2021-04-23 18:09:07 -04:00
Richard Belleville 53c72c5936
Python PSM Security Interop Client+Server (#25991)
* Add channelz to security client

* Make client changes. Some config needs to be reverted

* Add missing security field to channelz Socket

* Add test

* Fix test

* Remove whitespaces for windows

* Remove local_certificate check from PSM security tests

* Byte pack Python channelz IPs

* Move address packing to Core

* WIP

* Unbork security tests

* Python interop server

* Turn up server logging

* Clean up PR

* Clean up some more

* Yapf

* Fix up docker images

* Swap fillllllles!

* Add more robust boolean arg parsing

* Use bool_arg parsing in server as well

* Add copyright

Co-authored-by: Yash Tibrewal <yashkt@google.com>
2021-04-23 08:42:34 -07:00
Esun Kim ca945a58e9
Introduced grpc_error_handle (#25902)
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
2021-04-22 12:00:28 -07:00
Esun Kim 2d8936b097
Added status_helper (#25901)
Added status_util
2021-04-22 11:54:19 -07:00
Mark D. Roth feff79abc7
add test-only channel arg to set per-channel xDS bootstrap config (#25936)
* pass XdsClient to LB policies via channel args

* add channel arg for overriding bootstrap config on a per-channel basis

* change tests to use new channel arg approach -- currently failing for server-side tests

* use the same channel args approach on the server side

* clang-format

* fix CircuitBreakingMultipleChannelsShareCallCounter test

* fix XdsEnabledServerTest test

* add TODO

* clang-format

* generate_projects

* fix clang-tidy

* fix build

* attempt to fix python
2021-04-21 10:16:33 -07:00
Lidi Zheng 082da35e38
Add a list of banned macOS gevent tests (#26027) 2021-04-20 13:09:47 -07:00
Richard Belleville da2cf25592
Fix potential deadlock on the GIL (#26009) 2021-04-20 10:02:53 -07:00
AJ Heller 4c59b17d40
Remove eventmanager_libuv code (#25811)
Reintroduces this code removal after a failed import. This needed special handling via cherry pick.
2021-04-08 13:32:53 -07:00
Lidi Zheng 05ae3c5a87
Remove -std=gnu99 CFlag when compiling C++ with clang (#25778)
* Remove -std=gnu99 CFlag when compiling C++ with clang

* Use endswith instead of hard-coded slices

* Fix a typo
2021-04-06 06:50:40 -07:00
Lidi Zheng 09f17db9ca
[Aio] Gracefully handle RPCs ends pre-maturely (#25884)
* Gracefully handle RPCs ends pre-maturely

* Fix a typo
2021-04-05 16:59:23 -07:00
AJ Heller 4d4ee609c1
gRPC EventEngine Interface (#25795) 2021-04-05 09:26:16 -07:00
Mark D. Roth 3f19333ced
Move retry code into its own filter in the DynamicFilter stack (#25820)
* rename ChannelData to ClientChannel

* make ClientChannel class definition public

* move retry code to its own filter

* move LB call factory method to ClientChannel class

* move dynamic termination filter out of ClientChannel class

* update comments

* remove retry parsing from client channel service config parser

* fix clang-tidy

* fix service_config_test

* clang-format
2021-03-31 15:39:14 -07:00
Richard Belleville 9964ae875b
Bump master version to 1.38 (#25838)
* Bump version to 1.38

* Regenerate projects
2021-03-30 13:57:13 -07:00
Esun Kim 37eecd3ce3
Updated Abseil to LTS 20210324.0 (#25835)
* Updated abseil-cpp to 20210324.0
* UBSAN with -fsanitize-link-c++-runtime
2021-03-30 09:22:05 -07:00
Yash Tibrewal 5c49bf4209
Remove old grpc_string_to_sockaddr and rename grpc_string_to_sockaddr_new to grpc_string_to_sockaddr (#25831) 2021-03-29 16:04:10 -07:00
Lidi Zheng cccafaf10f
Remove async mark for set_trailing_metadata interface (#25814) 2021-03-25 11:09:24 -07:00
AJ Heller 1694984846
Revert "Remove unused eventmanager_libuv code (#25796)" (#25807)
This caused problems internally. The interface deletion needs a cherrypick, but I will do an overnight test first, before I reintroduce. CC @nicolasnoble
2021-03-24 17:17:42 -07:00
AJ Heller 077f627aef
Remove unused eventmanager_libuv code (#25796) 2021-03-24 11:21:05 -07:00
Richard Belleville 5030f28ff5
Decrease Python xDS interop client verbosity. (#25661) 2021-03-22 16:21:15 -07:00
Lidi Zheng 1040fbdb9f
Re-introduce "CSDS Implementation" (#25762)
* Revert "Revert "CSDS Implementation (#25038)" (#25745)"

This reverts commit 98fd4e1e36.

* Add xDS special Bazel build rules

* Add 2 todos to remove the added rules
2021-03-22 13:14:19 -07:00
Lidi Zheng 98fd4e1e36
Revert "CSDS Implementation (#25038)" (#25745)
This reverts commit 27de24a38e.
2021-03-17 13:38:47 -07:00
donnadionne 26fd0ce3c9
Generating hash for ring_hash policy (#25415) 2021-03-16 18:24:35 -07:00
Lidi Zheng 27de24a38e
CSDS Implementation (#25038)
* Implement the xDS Config Dump as CSDS in Core

* Revemp the logic of caching and constructing the CSDS response
* Unref created error
* Fix the clang tidy complains
* Resolve comments about symbol preload and Json ctor
* Improve readability
* Merge with new ADS logic && support latest CSDS
  * Refactor the version/client_status logic
  * Add support for error_state
  * Add support for does_not_exist
  * Add node information
* Fix the ProtoBuf segfault
* More test cases
* Refactor to use bytes as cache instead of JSON

* Apply clang_tidy's suggestion

* Resolve reviewer's requests

* Tiny stylish fixes && make sanity test happy

* WIP: still working on the matchers

* Update a bunch of matchers

* Improve readability a bit

* Resolve reviewer's suggestions

* Resolve reviewer's comments

* Make Unpack fail fast
2021-03-16 18:17:37 -07:00
Lidi Zheng 633b695af4
Mark Python interceptors as stable (#25739) 2021-03-16 16:47:43 -07:00
Yash Tibrewal 7021b72d1f
Revert Revert Xds Status Notifier (#25718)
* Revert "Revert "xDS status notifier (#25321)" (#25702)"

This reverts commit 3c9f3972e3.

* Remove connection from map when OnClose is not registered

* Reviewer comments
2021-03-15 14:29:06 -07:00
Lidi Zheng 83b19b2efe
[Aio] Add time_remaining method to ServicerContext (#25719)
* [Aio] Add time_remaining method to ServicerContext

* Fix comments

* Resolve reviewer's requests
2021-03-15 14:07:47 -07:00
Yash Tibrewal 3c9f3972e3
Revert "xDS status notifier (#25321)" (#25702)
This reverts commit 81e90432e1.
2021-03-12 08:54:34 -08:00
Lidi Zheng 3b067c9f3f
Implement xDS client-side fault injection filter (#24354)
* Refactored with dynamic filters
* Error-tolerance tuned
* Fix leak of grpc_error and data race of canceller
* Adopt the latest xDS HTTP filter framework
* Fix fault injection tests' conflict with router filter
* Test alternative setup (override, no-override) without copy
* Refactor file strcutures of fault injection filter
* Rewrite the Json parsing/assembling logic again
* Added logic for aborting streaming RPC && resolve comments
2021-03-09 13:14:21 -08:00
Yash Tibrewal 81e90432e1
xDS status notifier (#25321)
* Serving status notification for xds enabled servers
2021-03-08 21:47:13 -08:00
Richard Belleville d9903aa44e
Format Channelz Address.TcpIpAddress.address as packed bytes (#25629)
* Move address packing to Core

* Format

* Use absl::Base64Escape

* Update src/core/lib/channel/channelz.cc

Co-authored-by: Yash Tibrewal <yashkt@google.com>

Co-authored-by: Yash Tibrewal <yashkt@google.com>
2021-03-08 17:11:58 -08:00
Ashitha Santhosh bd86187f19
SDK authorization policy translator. (#25361)
* SDK authorization policy translator.
2021-03-05 09:05:11 -08:00
Jan Tattermusch fcd43e9030
Crosscompile python aarch64 wheels with dockcross (#25418)
* build aarch64 python wheels via crosscompilation

* yapf format code

* fix shellcheck complaints

* fix python37 aarch64 wheel build

* build python wheels on linux aarch64 with static libstdc++

* yapf format code
2021-03-02 07:32:28 +01:00
Mark D. Roth 49601b0334
Second attempt: xDS HTTP filter support for gRPC client (#25558)
* Revert "Revert "xDS HTTP filter support for gRPC client" (#25555)"

This reverts commit 785a128a83.

* xds_end2end_test: avoid flakes from lingering shutdown from previous test
2021-02-26 07:39:27 -08:00
donnadionne 785a128a83
Revert "xDS HTTP filter support for gRPC client" (#25555)
This reverts commit b2164837a8.
2021-02-25 07:18:43 -08:00
Richard Belleville ac34f559bb
Fix Signal Safety Issue (#25394)
* Decrease flake rate

* Spruce up comments
2021-02-20 16:12:35 -08:00
Richard Belleville ee915d8a15
Merge pull request #25410 from gnossen/unrevert_xds_creds
Reintroduce xDS Creds
2021-02-12 10:25:27 -08:00
Mark D. Roth b2164837a8 xDS HTTP filter support for gRPC client 2021-02-11 13:17:15 -08:00
Richard Belleville e76d75f520 Revert "Revert "Merge pull request #25365 from gnossen/python_xds_creds""
This reverts commit 7bbefc8365.
2021-02-10 15:53:49 -08:00
Richard Belleville 47ea5518b1 Merge remote-tracking branch 'origin/master' into unrevert_xds_creds 2021-02-10 15:53:42 -08:00
Richard Belleville b120008ea3 Fix API 2021-02-10 15:31:03 -08:00
Yash Tibrewal 7c8defd5c9
Merge pull request #25377 from yashykt/removedisrespecfulterm2
Replace disrespectful term
2021-02-10 15:20:27 -08:00
Richard Belleville 9c40041050
Merge pull request #25407 from gnossen/revert_xds_creds
Revert "Merge pull request #25365 from gnossen/python_xds_creds"
2021-02-10 11:22:38 -08:00
Richard Belleville 8d484bd49e
Merge pull request #25383 from gnossen/fix_grpc_future_docs
Clarify Guarantees about grpc.Future Interface
2021-02-10 11:12:50 -08:00
Richard Belleville 7bbefc8365 Revert "Merge pull request #25365 from gnossen/python_xds_creds"
This reverts commit b80d374b93, reversing
changes made to df062598c0.
2021-02-10 11:06:02 -08:00
Lidi Zheng a72c72f6e3
Merge pull request #25388 from lidizheng/master
Bump version of HEAD to v1.37.0-dev
2021-02-09 15:11:35 -08:00
Richard Belleville 762a29cddf Integrate additional guarantee into existing statement 2021-02-09 12:52:29 -08:00
Yash Tibrewal 15779f7b91
Merge pull request #25380 from yashykt/removedisrespecfulterm3
Replace disrespectful words
2021-02-09 12:07:25 -08:00
Lidi Zheng 51659eb06e Regenerate projects 2021-02-09 11:45:06 -08:00
Richard Belleville b80d374b93
Merge pull request #25365 from gnossen/python_xds_creds
Implement Python Client and Server xDS Creds
2021-02-09 09:57:00 -08:00
Richard Belleville 5f759fcd1f
Merge pull request #25384 from gnossen/fix_interop_typo
Fix Interop Client Typo
2021-02-08 21:46:27 -08:00
Richard Belleville 0136c65a70 Fix typo 2021-02-09 00:58:16 +00:00
Richard Belleville 8b5663fb91 Unref fallback credentials 2021-02-08 16:46:05 -08:00
Richard Belleville 459ceb026d Clarify the Future interface 2021-02-08 15:49:05 -08:00
Yash Tibrewal f4e55b85bc Replace disrespectful term 2021-02-08 15:29:53 -08:00
Yash Tibrewal 7a5288d2a0 Replace disrespectful words 2021-02-08 14:29:18 -08:00
Richard Belleville 8d805b9b43 Figure out what year it is 2021-02-08 13:50:22 -08:00
Richard Belleville 5e23b2dcb7 Pull out context manager 2021-02-08 13:49:46 -08:00
Lidi Zheng 542e7cb409
Merge pull request #25357 from lidizheng/update-envoy
Update xDS protos
2021-02-08 13:15:54 -08:00
Richard Belleville c8c80fd998
Merge pull request #25366 from gnossen/python_xds_timeout_test
Python xDS Timeout Test Client
2021-02-08 11:10:41 -08:00
Richard Belleville d1efd2af6e Remove inadvertent addition 2021-02-08 10:54:43 -08:00
Richard Belleville 859269e511 Yapf 2021-02-08 10:37:10 -08:00
Richard Belleville accaddc098 Fix call sites 2021-02-05 18:02:16 -08:00
Richard Belleville 95b06a7bd4 Avoid dancing diff 2021-02-06 01:20:27 +00:00
Richard Belleville 6017b08300 Fix up cygrpc.Server call sites 2021-02-05 16:42:10 -08:00
Richard Belleville 3cf0266843 And back to enums again 2021-02-06 00:15:22 +00:00
Richard Belleville b47279d923 Clean up 2021-02-05 20:31:56 +00:00
Richard Belleville 2c35187473 Fix aio server 2021-02-05 12:27:18 -08:00
Richard Belleville 8960ddea24 Yapf 2021-02-05 20:07:47 +00:00
Richard Belleville a07674de5c Conform to updated test spec 2021-02-05 20:01:29 +00:00
Richard Belleville 2c2dd5c047 Merge remote-tracking branch 'origin/master' into python_xds_timeout_test 2021-02-05 19:55:28 +00:00
Richard Belleville 23f6d4c75f Merge remote-tracking branch 'origin/master' into python_xds_creds 2021-02-05 11:47:10 -08:00
Richard Belleville a905065a98 Yapf 2021-02-05 11:43:48 -08:00
Richard Belleville 8988646903 Clean up 2021-02-05 11:42:22 -08:00
Richard Belleville e803bdb578 Add API to initialize xDS server 2021-02-05 11:36:08 -08:00
Lidi Zheng 0b04a92aba Regenerate project 2021-02-05 10:22:24 -08:00
Lidi Zheng c78c6ae20d regenerate files 2021-02-04 17:16:22 -08:00
Lidi Zheng 50f2fdd3cf Update the BUILD chain for the moved protos 2021-02-04 17:08:16 -08:00
Esun Kim 0cf94e3fdd Add time-util 2021-02-01 17:31:46 -08:00