Commit Graph

4496 Commits

Author SHA1 Message Date
Jan Tattermusch 402981be8e
Bump version to 1.45.0-dev (#28553)
* bump version to 1.45.0-dev

* regenerate projects
2022-01-20 09:23:06 +01:00
Craig Tiller 939bbfc336
Revert "Reland slice changes (#28601)" (#28615)
This reverts commit b33e0d40af.
2022-01-19 09:40:19 -08:00
Vignesh Babu aeea02fab8
TLS Session Keys export for GRPC C++ (#26812)
* Adding TLS Key export logic to core and c++ wrappers

* Adding and end2end cpp tls key export test and updating broken test due to interface changes

* regenerate projects

* updating tls key export core logic with addition of APIs to grpc_security.h

* undoing changes to tls_security_connector_test

* regenerate projects

* changing the logging format enum name as per GRFC comments

* regenerate projects

* removing some commented code

* updating changes as per review comments

* adding GRPCAPI annotations to functions defined in grpc_security.h

* regenerate projects

* fixed some code styling issues

* removing grpc_security.h include from tls_credentials_options.h

* updating files as per review comments

* minor fixes

* moving some code around

* removing key log format from tls session key log config and converting it to a simple string

* regenerate projects

* fixing mistakes in recent merge with master

* regenerate projects

* regenerate projects

* fixing some distrib and snity errors

* fixing formatting errors

* fixing more sanity checks and raising supported openssl versions to 1.1.1

* updating min supported openssl version to 1.1.1

* updating min supported openssl version in tls_key_export_test

* updating test to fix incorrect vector initialization

* updating as per latest comments

* fixing sanity checks

* addressing review comments

* fixing sanity checks

* fixed c++ comment style

* Automated change: Fix sanity tests

* fixing review comments

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-01-18 14:44:55 -08:00
Lidi Zheng 0f60be8e8a
Increase the Python protobuf requirement to >=3.12.0 (#28604) 2022-01-18 13:32:54 -08:00
Craig Tiller b33e0d40af
Reland slice changes (#28601)
* Revert "Revert "Eliminate slice interning (#28363)" (#28598)"

This reverts commit 03bf699600.

* fix?
2022-01-18 09:29:49 -08:00
Jan Tattermusch 03bf699600
Revert "Eliminate slice interning (#28363)" (#28598)
This reverts commit 6703186b7a.
2022-01-18 15:44:18 +01:00
Craig Tiller 6703186b7a
Eliminate slice interning (#28363)
Eliminate slice interning, and structures in slices to support it.
Reduces grpc_slice_refcount from 40 bytes (+ a required 8 bytes elsewhere) to 16 bytes.
Removes a pointer dereference for every slice ref/unref.

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-17 20:25:45 -08:00
Yousuk Seung c02fe64bea
Support custom xDS channel creds (#28486)
This patch introduces a factory to allow supporting custom xDS channel
creds. Three types currently supported (fake, insecure, google_default)
are registered by default for backward-compatibility.
2022-01-13 23:00:10 -08:00
Craig Tiller 4b881c5947
Remove grpc_mdelem (#28267)
* Automated change: Fix sanity tests

* content-type

* Automated change: Fix sanity tests

* clang-format

* fix

* Move colon prefixed metadata

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fixes

* fix build

* fix overflow

* progress

* Automated change: Fix sanity tests

* fix

* initial work

* progress

* fix

* fix

* Automated change: Fix sanity tests

* progress

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* compressor for path/authority

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* legalize

* legalize

* status-enc

* fmt

* fix

* fix

* fix

* fix

* fix/opt

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* comment

* fmt

* remove arg

* Automated change: Fix sanity tests

* remove name

* Automated change: Fix sanity tests

* sketch

* Automated change: Fix sanity tests

* progress

* add specialized encoders for compression metadata

* progress

* review feedback

* fix

* missoing files

* remove crud

* xxxxx

* more

* Small improvement in memory usage and performance

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Fix caching

* Automated change: Fix sanity tests

* omg

* fix crash in alts

* default everything

* Automated change: Fix sanity tests

* review feedback

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* speedup

* fix

* fix

* clang-format

* fixes

* progress

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* progress

* update timeout encoding algorithm

* Automated change: Fix sanity tests

* fix

* fix

* review feedback

* progress

* progress

* progress

* progress

* builds

* Automated change: Fix sanity tests

* remove debug code

* fix ub

* unname things

* coax compilers

* reduce failures

* fix

* fix

* fix

* fix

* cleanup

* compile fix

* preserve concatenation rule

* spew

* fix

* fix

* postfix operator++ for msvc

* fix

* fix

* remove unused code

* lower cost of hpack table construction

* fix refcounting

* review feedback

* fixes

* fixes

* support multivalued traits

* Automated change: Fix sanity tests

* fix

* clearer clear

* appeasing 4.9

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-07 09:42:27 -08:00
Craig Tiller 55b365f287
Move resolver code around a little (#27846)
* move service config

* service config should not depend on grpc_base

* move resolver, deal with fallout

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* review feedback

* review feedback

* fix

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* fix vis

* fix

* fixes

* Automated change: Fix sanity tests

* visibility

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-06 10:53:40 -08:00
Yash Tibrewal ab6d7b4f02
Reland rbac filter (#28442)
* Revert "Revert "xDS: Add support for RBAC HTTP filter (#28309)" (#28441)"

This reverts commit 7aae5c66df.

* Fix internal clang errors

* Ipv6 addresses are 128 bit
2021-12-29 11:42:58 -08:00
Craig Tiller 7aae5c66df
Revert "xDS: Add support for RBAC HTTP filter (#28309)" (#28441)
This reverts commit 6ea8214879.
2021-12-28 20:11:38 +00:00
Lidi Zheng 9a593c7126
Remove Python2 from python_configure.bzl (#28406)
* Remove Python2 from python_configure.bzl

* Replace py2and3_test with py_test with PY3

* Fix typo in the bazel script
2021-12-28 10:16:14 -08:00
Yash Tibrewal 6ea8214879
xDS: Add support for RBAC HTTP filter (#28309)
* xDS: ADD RBAC HTTP filter support

* sanity, upb regenerate files

* Revert PerChannelArg changes

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Remove unnecessary header

* Fix sanity

* Add RBAC service config parsing tests

* Don't make a copy of the metadata batch

* Revert expr_proto changes

* Some more tests

* Reviewer comments

* Reviewer comments

* No metadata changes needed

* Fix leak of DynamicXdsServerConfigSelectorProvider

* Fix deadlock issues

* Fix test compilation
2021-12-23 20:46:36 -08:00
Lidi Zheng 83e7cb24fe
Fix the setuptools distutils overriding issue (#28393)
* Fix the distutil install issue

* Try to move setuptools install forward

* Try pin the distribution tools

* Enforce local distutil

* Fix script order of definition

* Add comment

* Try to fix the setuptool monkey patch

* Clean-up imports for commands.py

* Pin 59.6.0 instead of 59.7.0 (incomplete release)
2021-12-21 12:27:01 -08:00
Craig Tiller 264c321d83
Move compression related metadata to the new system (#28223)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

* initial refactoring

* optimize status encoding

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* content-type

* Automated change: Fix sanity tests

* clang-format

* fix

* Move colon prefixed metadata

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fixes

* fix build

* fix overflow

* progress

* Automated change: Fix sanity tests

* fix

* initial work

* progress

* fix

* fix

* Automated change: Fix sanity tests

* progress

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* compressor for path/authority

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* legalize

* legalize

* status-enc

* fmt

* fix

* fix

* fix

* fix

* fix/opt

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* comment

* fmt

* remove arg

* Automated change: Fix sanity tests

* remove name

* Automated change: Fix sanity tests

* add specialized encoders for compression metadata

* review feedback

* fix

* missoing files

* Small improvement in memory usage and performance

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Fix caching

* Automated change: Fix sanity tests

* fix crash in alts

* default everything

* Automated change: Fix sanity tests

* review feedback

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* speedup

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* remove debug code

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-15 15:47:56 -08:00
Jan Tattermusch 09e5ca15c5
fix python dns resolver tests on kokoro MacService (#28344) 2021-12-13 19:02:49 +01:00
Craig Tiller b95ed96b96
Revert "Revert "Move arena into resource quota (#28008)" (#28292)" (#28293)
This reverts commit 91edf92ce0.
2021-12-06 21:41:06 -08:00
Craig Tiller 91edf92ce0
Revert "Move arena into resource quota (#28008)" (#28292)
This reverts commit ad424a2ebf.
2021-12-06 12:59:28 -08:00
Mark D. Roth d1448872fa
XdsClient: use XdsResourceType abstraction throughout XdsClient (#28165)
* WIP

* introduce XdsResourceType API and change Listener parsing to use it

* converted RouteConfig parsing

* convert cluster and endpoint parsing

* cleanup

* clang-format

* attempt to work around compiler problems

* move XdsResourceType to its own file, and move endpoint code out of XdsApi

* move cluster parsing to its own file

* move route config parsing to its own file

* move listener parsing to its own file

* clang-format

* minor cleanup

* plumbed XdsResourceType throughout XdsClient

* a bit of cleanup

* more cleanup

* construct full resource names before calling XdsApi::CreateAdsRequest()

* remove some unneeded code

* clean up includes and have XdsResourceType initialize the upb symtab

* more cleanup of unnecessary code

* more cleanup

* update comment

* clang-format

* add missing virtual dtor

* fix build

* remove comment

* add missing virtual dtor
2021-12-06 10:14:25 -08:00
Esun Kim ba06eeb07c
Bump to v1.44.0 dev (#28248)
* Bump version to v1.44.0-dev

* Regenerate projects
2021-12-06 09:50:51 -08:00
Craig Tiller ad424a2ebf
Move arena into resource quota (#28008)
* new resource quota integration

* Automated change: Fix sanity tests

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fix

* fixes

* windows-fix

* fixes

* fixes

* fix

* fix-asan

* banned

* banned

* fixes

* clang-tidy-fix

* Automated change: Fix sanity tests

* fix-cronet

* review feedback

* review feedback

* Automated change: Fix sanity tests

* fixes

* bug fix

* fixes

* compile fix

* exclude megabyte size payloads from 1byte tests

* windows fix

* start moving ios

* keep moving windows

* Get windows compilation working.

* Automated change: Fix sanity tests

* better

* fixes

* remove slice buffer from memory_allocator.h

* Revert "remove slice buffer from memory_allocator.h"

This reverts commit 234a63b6e3.

* ugh

* #fixtests

* pthread tls fixes

* Automated change: Fix sanity tests

* fixfixfix

* xxx

* add reset

* review feedback

* fix

* fix

* fixes

* fix

* mac progress

* cpp-impl-of

* rename ptr

* Automated change: Fix sanity tests

* memory-owner-is-a-memory-allocator

* fixes

* fix

* fix from prod

* fix

* Fix issue leading to bad pointers being returned on Windows.

* Automated change: Fix sanity tests

* fix multislice bug

* argh

* hyrums law fixes

* hyrums law fixes

* clang-format

* hyrums law fixes

* Move arena into resource quota

* Remove redundant constant

* fixup the tests

* Automated change: Fix sanity tests

* fiiixes

* Automated change: Fix sanity tests

* fixes

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* Automated change: Fix sanity tests

* fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-06 08:43:56 -08:00
Mark D. Roth cbe2855866
XdsClient: move resource type parsing out of XdsApi (#28151)
* introduce XdsResourceType API and change Listener parsing to use it

* converted RouteConfig parsing

* convert cluster and endpoint parsing

* cleanup

* clang-format

* attempt to work around compiler problems

* move XdsResourceType to its own file, and move endpoint code out of XdsApi

* move cluster parsing to its own file

* move route config parsing to its own file

* move listener parsing to its own file

* clang-format

* minor cleanup

* remove comment

* add missing virtual dtor
2021-12-03 08:19:54 -08:00
Craig Tiller e21505858f
Move some integer based metadata to the new system (#28198)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

* initial refactoring

* optimize status encoding

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fix build

* fix overflow

* fix

* fix

* fix

* fix

* review feedback

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-02 22:02:56 -08:00
Esun Kim 260145c517
Updated backoff to use absl::Random (#27193)
* Replace in-house rand with absl::Random for backoff (#26463)

* Replace in-house rand with absl::Random for backoff

* Run sanity

* Added bscrypt dependency

* Removed ABSL_RANDOM_HWAES_FLAGS

* Remove GCC_WARN_64_TO_32_BIT_CONVERSION = YES

* GCC_WARN_64_TO_32_BIT_CONVERSION to podspec install
2021-12-02 15:22:44 -08:00
Lidi Zheng 45024f63a7
Correct the error_in_stream_unary test (#28229) 2021-12-01 09:14:18 -08:00
Esun Kim 779701ab76
google/api/... (#27928) 2021-11-30 21:36:34 -08:00
Craig Tiller 220cf641fa
Reland slice metadata conversion (#28210)
* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test
2021-11-29 13:38:40 -08:00
Craig Tiller 7717587063
Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)
This reverts commit 4d432aefc1.
2021-11-24 15:41:36 -08:00
Craig Tiller 4d432aefc1
Move a bunch of slice typed metadata to new system (#28107)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-24 11:42:37 -08:00
Esun Kim 5088014987
Boringssl update to 4fb1589 (#28194)
* update submodule boringssl-with-bazel with origin/main-with-bazel

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

* regenerate files

* generate boringssl prefix headers

* Increment podspec version
2021-11-23 16:02:56 -08:00
Craig Tiller 672f31c6ac
Channel args preconditioning (#28132)
* Channel args preconditioning

* docs

* fixes

* Automated change: Fix sanity tests

* fix

* fix this again after merge error

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-22 15:24:39 -08:00
Esun Kim 461bb5e41f
To LTS 20211102.0 (#27916) 2021-11-18 16:24:44 -08:00
Yash Tibrewal 25446c468a
Support RDS updates on the server (#27851)
* Port changes from #27388

* Reviewer comments

* Fix resource timeout issue

* Cleanup

* Fix clang-tidy

* Revert benchmark

* Restructure

* clang-tidy

* Automated change: Fix sanity tests

* Partial commit

* Reviewer comments

* Fixes

* Reviewer comments

* Reviewer comments

* Reviewer comments

* Reviewer comments

* clang-format

* Fix FaultInjection tests

* clang-tidy

Co-authored-by: yashykt <yashykt@users.noreply.github.com>
2021-11-18 16:10:31 -08:00
Craig Tiller a629c9a03e
Reland resource quota work (#28017)
* Check if memory owner available prior to polling it

The transport may drop the memory owner during its destruction sequence

* tcp_fix

* Revert "Revert "New resource quota integration (#27643)" (#28014)"

This reverts commit 0ea2c37263.

* clang-format

* fix-path

* fix
2021-11-15 08:23:51 -08:00
Craig Tiller 1d63bb02b7
AVL implementation in C++ (#27782)
* avl

* move-code,add-fuzzer

* done

* fix

* Automated change: Fix sanity tests

* buildifier

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-12 22:26:09 +00:00
Craig Tiller 0ea2c37263
Revert "New resource quota integration (#27643)" (#28014)
This reverts commit 39f0877d25.
2021-11-11 14:26:19 -08:00
Lidi Zheng f7d4f8e13c
[Aio] Validate the input type for set_trailing_metadata and abort (#27958)
* [Aio] Validate the input type for set_trailing_metadata and abort

* Correct the checking of sequence type
2021-11-11 13:44:55 -08:00
Craig Tiller 39f0877d25
New resource quota integration (#27643)
* new resource quota integration

* Automated change: Fix sanity tests

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fixes

* Automated change: Fix sanity tests

* fixes

* fix

* fixes

* windows-fix

* fixes

* fixes

* fix

* fix-asan

* banned

* banned

* fixes

* clang-tidy-fix

* Automated change: Fix sanity tests

* fix-cronet

* review feedback

* review feedback

* Automated change: Fix sanity tests

* fixes

* bug fix

* fixes

* compile fix

* exclude megabyte size payloads from 1byte tests

* windows fix

* start moving ios

* keep moving windows

* Get windows compilation working.

* Automated change: Fix sanity tests

* better

* fixes

* remove slice buffer from memory_allocator.h

* Revert "remove slice buffer from memory_allocator.h"

This reverts commit 234a63b6e3.

* ugh

* #fixtests

* pthread tls fixes

* Automated change: Fix sanity tests

* fixfixfix

* xxx

* add reset

* review feedback

* fix

* fix

* fixes

* fix

* mac progress

* cpp-impl-of

* rename ptr

* Automated change: Fix sanity tests

* memory-owner-is-a-memory-allocator

* fixes

* fix

* fix from prod

* fix

* Fix issue leading to bad pointers being returned on Windows.

* Automated change: Fix sanity tests

* fix multislice bug

* argh

* hyrums law fixes

* hyrums law fixes

* clang-format

* hyrums law fixes

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-11-10 22:53:04 -08:00
ZhenLian 2e14f6fa70
Support Custom Post-handshake Verification in TlsCredentials (#25631)
* custom verification refactoring - post-handshake verification
2021-11-10 13:45:52 -08:00
AJ Heller b7d4569d34
Rename the source files for ChannelArgsEndpointConfig (#27972)
* Rename the source files for ChannelArgsEndpointConfig

Previous naming was non-descript

* generate_projects

* add missing file to BUILD, and generate_projects.sh

* correct include guards
2021-11-10 09:22:03 -08:00
AJ Heller 39adc01a57
Reintroduce the EventEngine default factory (#27920)
* Reintroduce the EventEngine default factory

An application can provide an EventEngine factory function that allows
gRPC internals to create EventEngines as needed. This factory would be
used when no EventEngine is provided for some given channel or server,
and where an EventEngine otherwise could not be provided by the
application. Note that there currently is no API to provide an
EventEngine per channel or per server.

I've also deleted some previous iterations on global EventEngine and
EventEngine factory ideas. This new code lives in a public API, and
coexists with iomgr instead of being isolated to an EventEngine-specific
iomgr implementation.

* add proper namespaces, and fix description

* put factory functions in their own file (for replaceability)

* add synchronization

* generate_projects.sh

* extract event_engine_base and event_engine_factory targets

Also separate iomgr/event_engine files in the BUILD, with comments

* gpr_platform

* move all EE factory declarations to event_engine_base

Makes internal hackery easier.

* add missing deps

* reorder dep alphabetically

* comment style change
2021-11-09 10:46:51 -08:00
Mark D. Roth 13d98176b5
bump version on master to 1.43-dev (#27930)
* bump version on master to 1.43-dev

* bump core version

* update g_stands_for.md
2021-11-04 16:19:56 -07:00
Richard Belleville 468768865b
Make Buildifier Sanity Test Strict (#27807)
* Fix all lint errors in repo.

* Use strict buildifier by default

* Whoops. That file does not exist

* Attempt fix to buildifier invocation

* Add missing copyright
2021-11-03 14:57:04 -07:00
Vitaly Buka 9d0922e02d
Init grpc_completion_queue_attributes::cq_shutdown_cb (#27864) 2021-11-01 10:07:09 -07:00
Lidi Zheng b8c38d6bc2
Support generic_xds_config in GCE/GKE frameworks and Python tests (#27796)
* Support generic_xds_config in GCE/GKE frameworks and Python tests

* Correct the field name

* Address comments

* Add new CSDS support to the regular K8s testcases

* Support incomplete CSDS config dump
2021-10-25 16:41:48 -07:00
Lidi Zheng 96995801d8
[Aio] Allow sequential types for server interceptors (#27818) 2021-10-25 13:09:06 -07:00
Yash Tibrewal 6d2a641dd3
XdsChannelStackModifier class (#27744)
* ChannelStackModifier class

* Regenerate projects

* clang-tidy

* Use CoreConfiguration for inserting xDS HTTP filters

* New lines

* Move test to test/core/xds

* Add comment for placement of filter stack

* Fix sanity

* Fix memory leak - destroy builder

* Don't build xds_channel_stack_modifier_test on non-bazel build systems due to census dependency
2021-10-22 13:48:30 -07:00
Richard Belleville eab375e439
Reland #27275 (#27806)
* Revert "Revert "Add Aspects to Bazel py_proto_library and py_grpc_library Rules (#27275)" (#27805)"

This reverts commit 763e5b40f3.

* Remove unused symbol
2021-10-21 19:37:24 -07:00
Craig Tiller 763e5b40f3
Revert "Add Aspects to Bazel py_proto_library and py_grpc_library Rules (#27275)" (#27805)
This reverts commit e970b8fa03.
2021-10-21 17:05:56 -07:00
Michael Beardsworth e970b8fa03
Add Aspects to Bazel py_proto_library and py_grpc_library Rules (#27275)
* Move most py_proto_library macro contents into rule.

The _generate_pb2_src rule is modified to produce a valid PyInfo
provider that can be depended on directly by py_.* rules.

Keeping an intermediate macro in place increases complexity without
adding any real value.

* Move most py_grpc_library macro contents into rule.

The _generate_pb2_grpc_src rule is modified to produce a valid PyInfo
provider that can be depended on directly by py_.* rules.

Keeping an intermediate macro in place increase complexity without
adding any real value.

* Remove support for additional plugins.

It's easy enough for a plugin author to build their own rule-set, and it
adds extra unused (and untested) complexity to gRPC's rules.

* Rewrite py_proto_library to track dependencies correctly.

* Propagate Python dependencies of py_grpc_library rules to consumers.

* Add test coverage for aspect-based py_proto_library.
2021-10-21 15:56:37 -07:00
Ming-Chuan 34fdb542b5
Add resolver for binder transport URI scheme (#27529)
This commit is part of the effort to create binder channel with
GRPC_CLIENT_CHANNEL type.

The resolver will be used during name resolution, and the result will
later be used to identify the corresponding endpoint binder in
SubchannelConnector.

Besides the unit test, this change is tested with other changes locally
end to end on real device.
2021-10-21 14:17:19 +08:00
Richard Belleville 25d8458721
Migrate remaining tests with protobuf dep to Python 3 only (#27776)
* Migrate remaining tests with protobuf dep to Python 3 only

* Move Bazel Python repo tests off of Python 2

* Format
2021-10-20 09:13:52 -07:00
Mark D. Roth 5406048ef6
Second attempt: RLS LB policy (#27748)
* allow connectivity state watching to work on lame channels

* Revert "Revert RLS LB policy (#27738)"

This reverts commit 4567af504e.

* fix build

* fix lame_client_test
2021-10-20 07:41:07 -07:00
Lidi Zheng 09a55f26f9
[Aio] Add add_done_callback/done/cancelled methods to ServicerContext (#27767)
* WIP

* [Aio] Add add_done_callback method to aio server

* Allow >20 public methods on the ServicerContext class
2021-10-19 12:25:18 -07:00
Lidi Zheng 2bc96189b9
[Aio] Correct the typing of input Metadata (#27768) 2021-10-19 11:30:50 -07:00
Bolutife Ogunsola c1d4e96433
Address leak when using request stream interceptors (#25449) (#27571)
* Don't leave pending tasks on the asyncio queue

The results of these pending tasks are not needed, leaving them
on the queue grows the size of the queue until the call completes.

This fix slows the growth of the memory in the test example.

* Address 'leaking' Futures from cygrpc

Cancelling unneeded Tasks is not sufficient as this leaves behind
cancelled Futures in the cygrpc layer, which still occupy memory.

Instead, avoid creating unneeded tasks in the first place.

* Address review comments

1. Ignore unused return values
2. Fix formatting
2021-10-18 17:55:43 -07:00
clayg fbf9801b83
Catch InteralError in _write (#27240) 2021-10-15 14:06:07 -07:00
Mark D. Roth 4567af504e
Revert RLS LB policy (#27738)
* Revert "fix for import of RLS LB policy (#27736)"

This reverts commit cfcdbc4905.

* Revert "RLS LB policy (#27352)"

This reverts commit 84ddc3289f.
2021-10-15 12:19:57 -07:00
Mark D. Roth 84ddc3289f
RLS LB policy (#27352)
* RLS LB policy plugin implementation

* Add RLS tests

* rls proto

* generate projects

* Fix adding child policy to child policy map

* Fix issues

* Fix rotten bits

* generate projects

* revert some strange changes

* First batch of fixes

* second batch of addressing comments

* generate_projects

* 3rd batch of fixes

* generate_projects

* 4th batch of fix

* 5th batch of fix

* Empty commit to trigger github PR refresh

* Add insecure build

* generate project

* update picker in a closure

* mutex guard audit

* clang-format

* Aggregate child policy states

* Use OrphanablePtr on ChildPolicyOwner()

* More fixes on comments

* Remove include grpc_security from rls.cc

* Fix key builder test as we removed RlsFindPathFromMetadata

* Update rls proto and add multi-target capability

* code changes to fix build after merging master

* remove support for insecure builds

* WIP

* add LB policy metadata lookup API

* add API for creating errors from C++ strings

* add missing include

* finished updating JSON parsing

* use DualRefCounted<> for ChildPolicyWrapper

* use grpc_core::Mutex instead of std::recursive_mutex

* add lock annotations and fix some lifetime issues

* misc fixes and cleanups

* simplify child policy connectivity state machine

* add comment about hopping into ExecCtx

* don't use wait_for_ready for RLS call

* extraKeys and constantKeys support

* add lock annotations for child policy wrapper connectivity state

* improve logging

* simplify child policy state handling in picker

* use C++ style comments

* remove rls_config.proto, since it's not needed

* rewrote tests

* fix build

* fix copyright headers

* clang-format

* appease clang-tidy

* remove unnecessary dependendency on grpclb

* buildifier

* remove illegal term

* remove unneeded includes

* clang-format

* fix clang-tidy

* fix build

* move class declaration into .cc file

* clang-tidy again

* fix build

* reorganize code and misc cleanups

* clang-format

* fixed a bunch of asan bugs; still some left to debug

* fix asan problem

* make test work on IPv6-only machines

* move LRU list handling into Cache::Entry and add lock annotations

* use preincrement instead of postincrement

* fix deadlock

* add more FIXMEs

* clean up backoff timer logic

* fix build from merge

* clang-format

* fix include path to work on podspec builds

* clean up picker logic

* clang-format

* update rls.proto

* populate reason and stale_header_data in RLS request

* improve logging and fix some cache size type issues

* clang-format

* add some TODOs about a better way to expose channel creds to LB policies

* centralize handling of channel's default authority

* clang-format

* fix backup poller bug

* fix handling of call creds and authority on RLS channel

* remove unused params

* clang-format

* use two-phase update for child policies to avoid deadlocks

* fix portability issue

* minor cleanups

* update for change in grpc_error_get_status() API

* change test to store RLS requests and responses in proto form

* clang-format

* account for test slowdown factor in timeouts

* fix tsan failure and channelz linkage

* fix RLS authority death test

* fix test to not try to connect to target that should not work

* remove illegal term

* cacheSizeBytes is a required field

* add missing BUILD deps from merge

* add tests for connectivity state reporting and fix bugs found

* fix BUILD sanity

* buildifier

* fix BUILD package path

* fix bugs related to child policy lifetime and updates

* remove unnecessary srand() call from grpc_init()

* add test for two cache entries with the same target

* update rls.proto

* change RLS config parser test to support GRPC_ERROR_IS_ABSEIL_STATUS

* update upb codegen

* fix include path

* add env var guard

* avoid duplication of CountedService

* generate_projects

* add upper limit for cacheSizeBytes

* fix build

Co-authored-by: Muxi Yan <mxyan@google.com>
2021-10-14 12:53:46 -07:00
Craig Tiller 98cf516874
Remove old backwards compatibility cronet compression workaround code (#27701) 2021-10-14 10:36:37 -07:00
Mark D. Roth 464c1c519f
switch to new location of TypedStruct and ORCA protos (#27700)
* upgrade xDS protos

* switch to new location of TypedStruct and ORCA protos

* fix sanity
2021-10-14 10:28:24 -07:00
Mark D. Roth e20dfeccc2
upgrade xDS protos (#27698) 2021-10-13 13:27:47 -07:00
Craig Tiller 1df153f46e
Revert "Revert "Move metadata setting into HPackParser (#27545)" (#27686)" (#27688)
This reverts commit 0e6ced8800.
2021-10-13 08:44:57 -07:00
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
Richard Belleville 791626a28f Accept programmatic configuration of RPC timeout 2021-01-28 02:48:48 +00:00
Richard Belleville be1bdc7707 Report RPC statuses 2021-01-28 02:20:33 +00:00
Richard Belleville 20be83e886 Use the new insecure channel credential object 2021-01-27 16:19:49 -08:00
Mark D. Roth 0a0aae8ee8
Merge pull request #25215 from markdroth/c2p_resolver
Implement google-c2p resolver.
2021-01-26 15:03:26 -08:00
Richard Belleville 293d7c46fe Implement xds_channel_credentials and xds_server_credentials 2021-01-22 12:08:01 -08:00
Donna Dionne 19b1f8f64a Cds Watchers changes to support aggregate Cds and Logical DNS Cds. 2021-01-21 14:25:50 -08:00
Mark D. Roth 80ede5992a Implement google-c2p resolver. 2021-01-20 14:37:21 -08:00
Jan Tattermusch 0b1798412b
Revert "Wrap strerror into a thread-safe implementation" 2021-01-20 16:33:27 +01:00
Ashitha Santhosh 4ca878799b Refactor [String/Header/Path]matchers in xds_api. 2021-01-15 12:32:54 -08:00
Jan Tattermusch e2b170278c yapf format code 2021-01-14 11:14:11 +01:00
Richard Belleville 333fb32667 Merge pull request #25142 from gnossen/cb_interop_python
Python Circuit Breaking Interop Test Client Additions
2021-01-14 00:08:29 +00:00
Richard Belleville 4ea16b6a30
Merge pull request #25142 from gnossen/cb_interop_python
Python Circuit Breaking Interop Test Client Additions
2021-01-13 14:05:47 -08:00
Yang Gao 25c0d5974e
Merge pull request #25140 from yang-g/strerror
Wrap strerror into a thread-safe implementation
2021-01-13 13:35:25 -08:00
Sergii Tkachenko 88af4277c6 Python style: disambiguate list expand style for yapf 2021-01-13 14:25:44 -05:00
Richard Belleville b12ff43ba6 Yapf 2021-01-13 19:24:04 +00:00
Richard Belleville 244488928a Logger style 2021-01-13 19:05:50 +00:00
Richard Belleville 5080f4adb5 Add more return types 2021-01-13 19:03:59 +00:00
Sergii Tkachenko 8db79e2e71 Python style: reformat code using updated yapf 0.30.0 2021-01-13 14:00:12 -05:00
yang-g cf26f0133a Wrap strerror into a thread-safe implementation 2021-01-13 08:54:51 -08:00
Richard Belleville 56ee26ee6c Yapf 2021-01-13 01:03:17 +00:00
Richard Belleville 0be354eb51 Fix up client changes 2021-01-13 01:00:24 +00:00
Richard Belleville c4d3fc749f WIP. Implement CB interop test 2021-01-12 18:00:14 +00:00
Stanley Cheung fe2e96f9f3 Regenerate projects 2021-01-06 19:52:32 -08:00
Stanley Cheung 5564ac0cce Regenerate projects 2021-01-06 19:40:00 -08:00
Alexander Polcyn 8215b21dc1 move grpc_ares_ev_driver and fd_node definitions into grpc_ares_wrapper.cc 2020-12-28 11:51:16 -08:00
Alexander Polcyn ef52044862 remove unnecessary grpc_ares_wrapper_fallback.cc 2020-12-23 11:20:43 -08:00
Mark D. Roth 8439ed152e
Merge pull request #24920 from markdroth/client_channel_split4
Add dynamic filters between name resolution and load balancing.
2020-12-22 13:18:57 -08:00
Esun Kim d1bef160e5 Added upb/json 2020-12-21 19:16:52 -08:00
Esun Kim d24a66af72 Regen project files 2020-12-21 11:35:07 -08:00
Mark D. Roth 7d46e37251 Add dynamic filters between name resolution and load balancing. 2020-12-21 09:27:14 -08:00
Yash Tibrewal 4105d2ce20 XdsServerBuilder, config fetching per resolved address and delaying bind/listen till fetch is complete 2020-12-16 12:15:52 -08:00
Richard Belleville 9e58d0645b
Merge pull request #24993 from gnossen/lazy_import_grpc_tools
Lazily import grpc_tools when using runtime stub/message generation
2020-12-15 16:43:58 -08:00
Richard Belleville 416f8f6d5c Factor out error functions 2020-12-15 13:22:08 -08:00
Richard Belleville 3da0a9a68d Remove trailing whitespace 2020-12-14 18:04:38 -08:00
Richard Belleville faa4ea2863 Docstring. Formatting 2020-12-14 17:38:34 -08:00
Richard Belleville 6b06bf4938 Lazily import grpc_tools 2020-12-14 17:27:24 -08:00
Donna Dionne 4f8ed98f3e Xds cluster resolver
Implemented new xds cluster resolver config
Separated policy and discovery mechanism
2020-12-14 16:05:15 -08:00
Lidi Zheng 0dd3f7e65b
Merge pull request #24946 from lidizheng/abort-annotation
[Aio] Correct type annotation of grpc.aio.ServicerContext.abort
2020-12-09 14:44:12 -08:00
Lidi Zheng 45b4608a02 Correct the type annotation of abort 2020-12-09 10:10:30 -08:00
Yash Tibrewal c9e99945ec Add SANs matching for xDS credentials 2020-12-08 15:15:39 -08:00
AJ Heller 880a854f0e Convert URI parser to C++ #24701 2020-12-07 12:13:22 -08:00
Mark D. Roth d6298ed3dc
Merge pull request #24806 from markdroth/client_channel_split0
Eliminate ResolvingLoadBalancingPolicy.
2020-12-01 08:09:52 -08:00
Mark D. Roth 0e13934764 Eliminate ResolvingLoadBalancingPolicy. 2020-11-30 11:37:37 -08:00
Lidi Zheng 2d7d354c92
Merge pull request #24818 from lidizheng/aio-max-concurrent
Add limit concurrent RPC feature to asyncio server
2020-11-24 12:59:07 -08:00
Lidi Zheng 3da3cc2168 Add limit concurrent RPC feature to asyncio server
* Reduce the allocation of new function
2020-11-23 14:45:34 -08:00
Lidi Zheng 511af22c78 Hopefully fixed 27 build on winserver2016
* Download the working msys64 and use it to compile 27
* Remove the cygwin detection override logic
* Only install Python interpreters in jobs running on winserver2016
* Fix the batch script substring check
* Increase the timeout for related jobs
* TIL that there is an allow list for Kokoro env vars
2020-11-23 14:17:58 -08:00
Lidi Zheng a0883ea81a Found another typo in the comment 2020-11-20 13:24:45 -08:00
Lidi Zheng 06ce4cb51c Use the correct adjective for false 2020-11-20 13:04:09 -08:00
Lidi Zheng 2996c03114 Fix the emtpy response handling in streaming RPC 2020-11-20 12:16:21 -08:00
Chuan Ren 1faf030cc4 Add aws-sourced external credentials 2020-11-19 11:20:35 -08:00
yulin-liang 2ffa791ae6 Regenerate projects 2020-11-17 13:10:08 -08:00
Lidi Zheng cbab3b4dac Str and bytes have different interface... 2020-11-13 12:07:45 -08:00
Lidi Zheng 0e275f3d2b Change to explicitly encode 2020-11-13 12:07:45 -08:00
Lidi Zheng 892e7bacb1 Explicitly set encoding to ascii to prevent TypeError in 3.7+ 2020-11-13 12:07:44 -08:00
Mark D. Roth 28c795f542
Merge pull request #24618 from renkelvin/aws-signer
[3PI Support] Add aws signature v4 signer
2020-11-12 07:43:05 -08:00
Chuan Ren bedaeb5265 Add aws signature v4 signer 2020-11-11 15:55:16 -08:00
Lidi Zheng 4dab5d3deb
Merge pull request #24718 from lidizheng/stop-ctrl-c-spam
Stop the spamming log generated by ctrl-c for AsyncIO server
2020-11-11 15:14:27 -08:00
Yash Tibrewal 0b4c258354
Merge pull request #24711 from yashykt/filewatcherconfig
File watcher certificate provider config parsing
2020-11-11 02:23:13 -08:00
Yash Tibrewal d45bbe46e0 File watcher certificate provider config parsing 2020-11-10 15:49:23 -08:00
Lidi Zheng c0e0207fde Add the empty line back 2020-11-10 14:37:43 -08:00
Lidi Zheng a012edf10f Stop the ctrl-c spam 2020-11-10 14:33:14 -08:00
Lidi Zheng 89fa7203d0 Add a special optimization for 1 rpc unary-stream sync 2020-11-10 12:31:24 -08:00
Ben Reed eacf3ba54f
Make python qps_worker --server_port consistent
The python qps_worker was changed in grpc/grpc#24350, adding support for
the --server_port flag. When the --server_port flag was set, the python
worker ignored the port specified in the Scenario's ServerConfig.

This behavior was inconsistent with Java and Go. In the workers for
those languages, the --server_port flag was used only when the
Scenario's ServerConfig port was unset. It did not override.

This commit alters the behavior of the python qps_worker to match Java
and Go, similar to grpc/grpc#24661 for C++. In addition, it updates the
documentation for the flag.
2020-11-04 15:25:20 -08:00
capstan 3b9484afcb Rerun tools/buildgen/generate_projects.sh under Python 3.
This generates reordered lists, presumably dict traversal issues, and there are whitespace diffs in the emitted .json files.
2020-11-04 01:31:40 +01:00
yulin liang 75044f89f1
Merge pull request #24657 from yulin-liang/update-boringssl
1.34 Release [T - 4w] Updating boringssl
2020-11-03 13:53:47 -08:00
Esun Kim e0cbc7e5dd
Merge pull request #24245 from veblush/stacktrace
Add stack-tracer to gRPC
2020-11-03 13:50:41 -08:00
yulin-liang afc556a4c3 renegerate files 2020-11-03 11:53:12 -08:00
Chuan Ren 2b1265b42f Add file-sourced external credentials 2020-11-02 14:11:50 -08:00
Yash Tibrewal f0edcac24b
Merge pull request #24579 from yashykt/xdscertificateprovider
Add XdsCertificateProvider
2020-11-02 11:28:45 -08:00
Esun Kim f3e75c1fa9 Add stack-tracer to gRPC 2020-11-01 23:02:39 -08:00
Lidi Zheng 0bad97452d
Merge pull request #24614 from lidizheng/not-found-windows
Fix a typo in Python's Windows build
2020-10-30 12:51:05 -07:00
Yash Tibrewal e11a670736 Add XdsCertificateProvider 2020-10-30 10:15:57 -07:00
Lidi Zheng 1eedd0a693 Add extra safe guard to prevent this function misbehave again 2020-10-30 10:15:33 -07:00
Lidi Zheng ca2b0f5f07 Fix typo in Python's Windows build 2020-10-29 17:15:31 -07:00
ZhenLian d5d35650b0 add API to get last modification time of a file 2020-10-29 10:43:29 -07:00
Lidi Zheng 3c17848cee
Merge pull request #24576 from lidizheng/unary-stream-exp
Add support for unary-stream benchmarking for Python
2020-10-27 14:12:25 -07:00
Lidi Zheng 85228ef34a s/streamming/streaming/g 2020-10-26 17:11:11 -07:00
Lidi Zheng 36b46b104a Add support for unary-stream benchmarking for Python 2020-10-26 16:50:57 -07:00
Richard Belleville efb843980c
Merge pull request #24523 from gnossen/single_threaded_future
Implement grpc.Future interface in SingleThreadedRendezvous
2020-10-26 15:32:35 -07:00
ZhenLian 4d80f376a3
Merge pull request #24227 from ZhenLian/zhen_dynamic_file_reloading_3
C-core changes for TLS credentials
2020-10-26 13:38:39 -07:00
Richard Belleville 9b24faf188 Add comment about timeout argument 2020-10-23 16:01:19 -07:00
Esun Kim 4efde0b477 Generating projects 2020-10-23 13:22:38 -07:00
ZhenLian 518ed1303c Add Credential Loading From Static Providers For TLS Credentials 2020-10-22 13:55:31 -07:00
Richard Belleville 928e3b2fa5 Spruce up docstrings 2020-10-21 21:55:02 -07:00
Richard Belleville f2059ee6be Implement grpc.Future interface in SingleThreadedRendezvous 2020-10-21 20:35:18 -07:00
Mark D. Roth 62cfb36c60
Merge pull request #24411 from renkelvin/url
[3PI Support] Add url-sourced external account credentials
2020-10-21 08:48:34 -07:00
Yash Tibrewal cf26660f44
Merge pull request #24408 from yashykt/castore
Certificate Provider Store implementation
2020-10-21 01:18:09 -07:00
Yash Tibrewal ea027f0ef5 CertificateProviderStore implementation 2020-10-20 23:05:36 -07:00
Richard Belleville de90ff64d5
Merge pull request #24478 from gnossen/runtime_protos_wkt
[gRPC Easy] Make Well-Known Types Available to Runtime Protos
2020-10-20 20:08:14 -07:00
Chuan Ren 4c93d36d08 Add url-sourced external credentials 2020-10-20 13:56:55 -07:00
Richard Belleville 905bb9834a Switch names around 2020-10-20 13:31:36 -07:00
Lidi Zheng e861546b3c Replace grpc_shutdown_blocking with grpc_shutdown in Cython 2020-10-19 17:08:01 -07:00
Richard Belleville f13b324941 Include well-known types in sys.path when using runtime protos 2020-10-19 13:02:33 -07:00
Mark D. Roth e05c5da2c8
Merge pull request #24419 from markdroth/xds_cluster_impl_lb
Move circuit breaking, EDS drops, and load reporting to xds_cluster_impl policy.
2020-10-16 09:24:04 -07:00
Mark D. Roth e496705ea3 Move circuit breaking, EDS drops, and load reporting to xds_cluster_impl policy. 2020-10-16 07:29:08 -07:00
Mark D. Roth 27795e7cad Merge remote-tracking branch 'upstream/master' into xds_logging 2020-10-15 20:05:29 -07:00
Lidi Zheng 684b5d1f47 Fix the grpc.aio import hack and its unit test 2020-10-14 17:00:25 -07:00
Mark D. Roth 6c982e6b61 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-10-14 16:32:13 -07:00
Mark D. Roth 012381235f
Merge pull request #24208 from renkelvin/base
[3PI Support] Add base external account credentials class
2020-10-13 10:27:14 -07:00
Chuan Ren 0cf672d42e Add implementation of base external account credentials 2020-10-12 16:18:11 -07:00
Mark D. Roth ff7496b660 fix upbdefs paths for non-bazel builds 2020-10-12 15:23:03 -07:00
Mark D. Roth f81650f497 update list of upbdefs files in build 2020-10-12 14:48:18 -07:00
Mark D. Roth 7d6b12fe73 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-10-12 14:21:45 -07:00
Lidi Zheng f9925a6f97
Merge pull request #24356 from lidizheng/support-3.9
[Linux] [macOS] Support pre-compiled Python 3.9 wheels
2020-10-12 10:28:07 -07:00
Yash Tibrewal 4013fd9dc9
Merge pull request #24313 from yashykt/xdscredscpp
C++ API to create Xds channel credentials
2020-10-08 22:27:21 -07:00
Yash Tibrewal c52cb09f47 Add experimental XdsCredentials with support for insecure channel_credentials and security_connector 2020-10-08 20:37:47 -07:00
Benjamin Reed 9757a09ec4
Merge pull request #24350 from codeblooded/python/bug/add-server-port
Add --server_port flag to python benchmark worker
2020-10-08 16:24:56 -07:00
Richard Belleville 9c41697873
Merge pull request #24326 from gnossen/fix_fork_interop
Remove uses of PIPE in Fork Interop Tests
2020-10-08 15:08:12 -07:00
Lidi Zheng 89b34444f8
Merge pull request #24341 from grpc/revert-24337-revert-24289-aio-import-dot
Revert "Revert "Allow asyncio API to be imported as grpc.aio""
2020-10-07 15:56:36 -07:00
Donna Dionne aafe657978 Bump version to v1.34.x: regenerate projects 2020-10-07 12:51:27 -07:00
Lidi Zheng 4fa90f42ce Support pre-compiled Python 3.9 wheels 2020-10-07 12:43:45 -07:00
Lidi Zheng 6336930029 Check file name instead of package name 2020-10-07 11:01:00 -07:00
Ben Reed 9a00264e9b
Add --server_port flag to python benchmark worker
The benchmark workers for most gRPC languages support a `--server_port`
flag. When specified, the server accepts traffic on this port. This is
true even if a port is specified in the ServerConfig message of a
Scenario.

This change adds this flag to the benchmark worker for Python, allowing
it to adopt the same behavior.
2020-10-07 10:38:56 -07:00
Lidi Zheng 442aa916dc Make sure the module space won't be polluted by "from grpc import aio" 2020-10-06 16:55:14 -07:00
Lidi Zheng c6dc383c15 Prevent import order issue in cyclic imports 2020-10-06 16:53:01 -07:00
Lidi Zheng e54fe6ccd0
Revert "Revert "Allow asyncio API to be imported as grpc.aio"" 2020-10-06 14:14:13 -07:00
Lidi Zheng d938e0052e
Revert "Allow asyncio API to be imported as grpc.aio" 2020-10-06 12:35:26 -07:00
Yash Tibrewal 7c7b452f16
Merge pull request #24312 from yashykt/xdscreds
gRPC Core API to create Xds channel credentials
2020-10-06 12:18:44 -07:00
Richard Belleville 3dc0b3b625 Get port properly 2020-10-05 15:29:45 -07:00
Yash Tibrewal 48ec53971a gRPC Core API to create Xds channel credentials 2020-10-05 14:52:08 -07:00
Richard Belleville d13fbc5bfb Remove uses of PIPE 2020-10-05 11:27:46 -07:00
Mark D. Roth 7c0b500f33
Merge pull request #24291 from markdroth/xds_load_reporting_in_eds
Move locality load reporting to EDS policy.
2020-10-05 08:35:18 -07:00
Lidi Zheng 4f3f6960f9
Merge pull request #24289 from lidizheng/aio-import-dot
Allow asyncio API to be imported as grpc.aio
2020-10-02 15:38:25 -07:00
Lidi Zheng b830caa997 Update the tests.json 2020-10-02 13:10:17 -07:00
Mark D. Roth 799e805e8a Move locality load reporting to EDS policy. 2020-10-02 11:16:01 -07:00
Mark D. Roth 71050c88b9 Move EDS drop handling to a new eds_drop LB policy. 2020-10-02 08:23:48 -07:00
Lidi Zheng c9768211fb Remove unused import 2020-10-01 11:43:50 -07:00
Lidi Zheng 638f6fb659 Expand alternatives to import aio module 2020-10-01 11:43:50 -07:00
Lidi Zheng b7894bb090 Allow asyncio API to be accessed as grpc.aio.foo 2020-10-01 11:43:50 -07:00
Lidi Zheng 32e4c1c1df
Merge pull request #24267 from lidizheng/fix-macos-enum
Don't install enum34 for non-2.7 Python
2020-09-30 12:04:01 -07:00
Mark D. Roth 02436e33ea Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-30 11:40:56 -07:00
Lidi Zheng 777792b652
Merge pull request #24271 from lidizheng/tiny-fix-in-commands
Use != with literals in commands.py
2020-09-30 10:43:05 -07:00
Donna Dionne bad6ee7676 Merge remote-tracking branch 'upstream/master' into release 2020-09-29 22:25:43 -07:00
Lidi Zheng 8da468ff09
Merge pull request #24257 from lidizheng/rpc-test-split-test
Split RPCTest into two and speed up test cases
2020-09-29 16:21:21 -07:00
Lidi Zheng e242764d50 Remove enum34 from requirements.txt 2020-09-29 15:17:38 -07:00
Donna Dionne bcd41d6397 Merge remote-tracking branch 'upstream/master' into release 2020-09-29 14:55:57 -07:00
Lidi Zheng 9e0b427893 Use != with literals 2020-09-29 14:44:59 -07:00
Lidi Zheng 944d20f7b8 Make buildifier happy 2020-09-29 13:56:04 -07:00
Lidi Zheng 7f52f5d669 Make linters happy 2020-09-29 12:04:57 -07:00
Lidi Zheng 84acaad1fe Split RPCTest into two and speed up test cases 2020-09-29 12:04:57 -07:00
Yash Tibrewal 2a56886513 Update submodules: envoy-api, protoc-gen-validate, udpa 2020-09-29 12:03:40 -07:00
Mark D. Roth 69c52a8b2a Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-29 09:01:09 -07:00
Donna Dionne 55267990b0 regenerate files 2020-09-28 22:41:16 -07:00
Richard Belleville 1c425ba9fd Fix CI errors 2020-09-22 13:46:08 -07:00
Richard Belleville a80a3b72bb Do not import grpc_tools.protoc from grpc_tools 2020-09-22 12:35:52 -07:00
Yash Tibrewal 11abbd3828 Add parsing logic for GoogleMeshCaConfig 2020-09-17 09:33:10 -07:00
Donna Dionne ffb560090a Moving XDS Routing functionalities from LB policy into XdsConfigSelector 2020-09-11 15:44:10 -07:00
Lidi Zheng ac5cca327a
Merge pull request #23453 from implr/addcythoninit
Add __init__.py to cygrpc pyx_library to support --incompatible_default_to_explicit_init_py
2020-09-09 14:12:10 -07:00
Yash Tibrewal 24ba65d6a1
Merge pull request #24080 from yashykt/caregimpl
Add certificate provider registry implementation
2020-09-09 14:05:38 -07:00
Yash Tibrewal cdda406115 Add certificate provider registry implementation 2020-09-08 14:50:37 -07:00
ZhenLian 1a275d7eab Add tls_certificate_distributor implementation 2020-09-08 10:20:21 -07:00
Mark D. Roth 998bde891f Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-02 15:50:33 -07:00
Mark D. Roth 25518e5b08
Merge pull request #24030 from yashykt/xdsremoveunsecure
Remove xDS support from unsecure builds
2020-09-02 15:07:45 -07:00
Mark D. Roth 6514396713 update build files 2020-09-02 08:38:31 -07:00
Lidi Zheng 0eae18f9e6 Disable the exit tests until they are deflaked 2020-09-01 17:42:51 -07:00
Mark D. Roth 3fcb32b757 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-09-01 15:41:07 -07:00
Yash Tibrewal 025d9d8e8a Remove xDS support from unsecure builds 2020-09-01 15:04:49 -07:00
Mark D. Roth 30e4170dc3 Update version of master to 1.33-dev ("geeky"). 2020-08-28 09:20:30 -07:00
Lidi Zheng 1dbc68c4ae Disable two in flight stream stream cases due to known flake 2020-08-25 15:13:44 -07:00
Lidi Zheng cd1b211321 Improve the exit test to yield better logs 2020-08-25 12:08:09 -07:00
Richard Belleville 4a2d4a0b64
Merge pull request #23949 from gnossen/grpcio_tools_import
Tolerate old versions of grpcio-tools
2020-08-24 10:22:32 -07:00
Richard Belleville 36be9bbf6e Yapf 2020-08-21 17:25:25 -07:00
Richard Belleville 3ce329ffda Clean up error messages 2020-08-21 17:04:15 -07:00
Richard Belleville d481046de6 Tolerate old versions of grpcio-tools 2020-08-21 16:57:31 -07:00
Lidi Zheng d713e9f202 Prevent call objects from outliving its parent channel or server 2020-08-21 15:04:16 -07:00
Richard Belleville 0bd773c152
Merge pull request #23892 from gnossen/python_interop_client_additions
Python xDS interop client traffic splitting / path matching additions
2020-08-20 10:25:29 -07:00
Richard Belleville 03b50b704d Save two lines 2020-08-19 23:38:28 +00:00
Richard Belleville 324ade3638 Pull out parsing functions 2020-08-19 23:24:19 +00:00
Richard Belleville efd0521731 Format 2020-08-19 20:50:41 +00:00
Richard Belleville a4979ad65b Keep track of method of each RPC 2020-08-19 20:44:17 +00:00
Ashitha Santhosh fcce56df4e
Merge pull request #23887 from ashithasantosh/create_activation
Add activation logic and endpoint getters.
2020-08-19 10:43:39 -07:00
Richard Belleville b0ab7197a6 Add --metadata flag 2020-08-19 17:39:03 +00:00
Richard Belleville 86525d703c Add --rpc flag 2020-08-19 05:19:09 +00:00
ashithasantosh 5820e833fc Add activation logic and endpoint getters. 2020-08-18 19:12:22 -07:00
Richard Belleville 057b34a4d0 Pull out function for running single method 2020-08-19 00:20:43 +00:00
Richard Belleville 6e3cc78375 Abstract out the method being called 2020-08-18 23:36:02 +00:00
Lidi Zheng 9ff83e8cb1
Merge pull request #23240 from lidizheng/aio-graduate
[Aio] Graduation from experimental folder
2020-08-18 14:31:00 -07:00
Lidi Zheng 6326422b05
Merge branch 'master' into aio-graduate 2020-08-18 12:14:51 -07:00
Mark D. Roth bd73844208 Move parse_address library from client_channel to iomgr. 2020-08-18 11:23:06 -07:00
Richard Belleville c79bef55ee
Merge pull request #21458 from gnossen/dynamic_stubs
Enable Runtime Import of .proto Files
2020-08-17 20:39:29 -07:00
Richard Belleville 7295541044 Support path changes in MacOS 3.8 2020-08-17 16:41:19 -07:00
Richard Belleville 60f8bc1b85 Fix subprocess tests on Mac Python 3.8 2020-08-17 14:34:40 -07:00
Richard Belleville 1169084a21 Unpack args a layer higher 2020-08-17 21:06:04 +00:00
Yash Tibrewal 55821f5cf8 Revert "Merge pull request #23786 from michaelywg/cel_create_activation"
This reverts commit fe59761648, reversing
changes made to 1856e224c3.
2020-08-17 14:01:53 -07:00
Lidi Zheng cd336404e9
Merge pull request #23783 from lidizheng/aio-win-poll
[Aio] Add a fail-back polling mode for Windows+3.8+
2020-08-17 10:56:08 -07:00
Srini Polavarapu 9b5b5be3e2 regenerate files 2020-08-14 18:33:42 -07:00
Richard Belleville cdb906ac8e Expand documentation 2020-08-14 16:46:03 -07:00
Lidi Zheng 5694b798b0 Move aio module out of experimental folder 2020-08-14 15:58:50 -07:00
Lidi Zheng 9c3f878e03
Merge pull request #23843 from lidizheng/fix-non-ok-read
Make status_code_and_message interop test robust
2020-08-14 14:30:46 -07:00
Lidi Zheng 0955c14608 Make status_code_and_message interop test robust 2020-08-14 13:40:32 -07:00
Lidi Zheng 4ed38373ae Remove event loop policy check 2020-08-14 11:24:23 -07:00
Michael Wang b8771966f1 Added tests for eval_args address/port getters. Implemented said getters and CreateActivation.
Added logging for unsupported attributes

fixed make issues by moving grpc_authorization_engine under grpc

changed inet_aton to inet_pton

fixed issue leftover from initial implementation of evalargs
2020-08-14 04:30:42 +00:00
Mark D. Roth 478ea19b65 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-08-13 08:21:43 -07:00
Lidi Zheng a5dc598a42 Handle another corner case on Windows 2020-08-11 16:07:57 -07:00
Richard Belleville d6a9ba9d54 Restrict to 3.5.0 2020-08-11 15:19:16 -07:00
Lidi Zheng 03813bf6fc Make the fail back mode triggering more robust 2020-08-11 13:56:40 -07:00
Richard Belleville d0e8342dcd Document as experimental 2020-08-11 11:53:11 -07:00
Richard Belleville 0b543de30a Last pylint error 2020-08-10 17:46:55 -07:00
Richard Belleville 51b0a3bb96 Why Windows? Why? 2020-08-10 17:42:00 -07:00
Richard Belleville b50110b583 Fix Windows 2020-08-10 14:49:48 -07:00
Lidi Zheng c0632acaff Add a fail-back polling mode for Windows+3.8+ 2020-08-10 13:54:47 -07:00
Mark D. Roth d926e1ca47 Move XdsClient code out of client_channel tree. 2020-08-07 08:21:09 -07:00
Richard Belleville 05aaf3d939 Pylint 2020-08-06 17:43:41 -07:00
Richard Belleville 2d9e8bc736 Copyright 2020-08-06 17:24:28 -07:00
Richard Belleville 8f1e181189 Merge remote-tracking branch 'origin/master' into dynamic_stubs 2020-08-06 12:32:47 -07:00
Richard Belleville aa044d0911 Revert grpcio_metadata 2020-08-06 12:28:43 -07:00
Richard Belleville 2c1efcd0ae Add documentation 2020-08-06 12:25:21 -07:00
Lidi Zheng 218a2ff95f
Merge pull request #23483 from emkornfield/fg
Adds option of using ASM for BoringSSL in Python.
2020-08-05 14:10:40 -07:00
Michael Wang d0311ac81a Basic class definition and constructor Cel eval engine
Merge remote-tracking branch 'upstream/master' into celeval_constructor

Iterate through policies and store CEL condition

git push origin ce Merge remote-tracking branch 'upstream/master' into celeval_constructor

added class and constructor comments for CelEvaluationEngine

CelEvaluationEngine class and constructor

Added cel_evaluation_engine to build

ran clang_tidy_code.sh

updated BUILD with cel_evaluation_engine

added rbac.upb.h/cc to BUILD

Rewrote cel_evaluation_engine code with upb conventions

removed unnecessary deps for cel_evaluation_engine in BUILD

Cel_evaluation_engine uses arenas to manage condition pointers

Used upb::Arena instead of upb_arena*, added temp_arena to save memory

Added action_allow_ member variable

Added fullstops to comments

initialize action_allow_

changed variable names to be more clear

removed unnecessary headers

correctly initialize the action_allow_ variable

changed constructor to use an initializer list

ran clang_tidy and clang_format scripts

added cel_engine_test

resolved merge conflicts and rewrote cel engine constructor to use new map api

changed variables to be more clear and made them const

changed syntax.upb.h so the build succeeds

changed syntax.upb.h so the build succeeds

changed version of upb in bazel_dpes

regenerated upb files with new upb version

added TODO regarding two-policy design

modified CelEvaluationEngine and tests to use two rbac policies

Made test messages consistent and added a case with too many policies

changed name from cel_engine to authorization_engine

fixed merge issues and updated authorization engine to v3 rbac

made constructor public and added namespace grpc_core
2020-08-04 18:23:21 +00:00
Micah Kornfield 6f6778276d update template format 2020-08-03 15:47:34 -07:00
Micah Kornfield 8e501c86f5 Move over to using sources.json from boring.ssl.
- Undo a bunch of hacks in src/boringssl/gen_build_yaml.py
- Store the structued data in YAML/dependencies.py so
  we don't need to recreate the filters.
- Update setup.py accordingly
2020-08-03 15:47:33 -07:00
Micah Kornfield 35c0a4cfff Adds option of using ASM for BoringSSL in Python.
- Adds a new environment variable for turning on the build of ASM
  for boring SSL.
- Only enables for x86_64 for now.  I think this is likely the most
  common target and the only machine I have readily accessible.
2020-08-03 15:47:25 -07:00
Mark D. Roth 60283a1085
Merge pull request #23582 from markdroth/grpclb_authority
Remove TargetAuthorityTable in favor of a per-address channel arg.
2020-07-29 15:18:13 -07:00
Lidi Zheng 70f001565b
Merge pull request #23632 from lidizheng/raise-when-bind-failed
Raises an exception when port binding failed
2020-07-28 16:22:30 -07:00
Lidi Zheng d13c5834af Abstract the validation into a common function 2020-07-28 13:54:57 -07:00
Esun Kim 3ac116f1cb Enabled GPR_ABSEIL_SYNC 2020-07-27 20:00:26 -07:00
Lidi Zheng 655319e286 Ban this test with gevent + Windows 2020-07-27 15:11:39 -07:00
Lidi Zheng df440a5a66 It seems the port binding won't fail if a port is occupied by native socket 2020-07-27 14:01:25 -07:00
Lidi Zheng b9b33c06eb Make sure the SO_REUSEPORT is off 2020-07-27 11:33:24 -07:00
Lidi Zheng 217dade003 Raises an exception when port binding failed 2020-07-27 11:16:43 -07:00
Mark D. Roth f88449c205 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-07-27 09:55:48 -07:00
Mark D. Roth 181781387d xDS v3 support 2020-07-23 10:20:55 -07:00
Mark D. Roth c35a37d6c2 Remove TargetAuthorityTable in favor of a per-address channel arg. 2020-07-23 08:23:05 -07:00
Jan Tattermusch aa0193db42
Merge pull request #23576 from jtattermusch/bump_master_1_32
update master version to 1.32.0-dev
2020-07-23 07:48:24 +02:00
Yash Tibrewal 2c5291ff71 Plumb absl::Status through connectivity state notifiers 2020-07-22 15:56:24 -07:00
Richard Belleville 089d90933a
Merge pull request #23203 from gnossen/python_google_default_creds
Implement compute_engine_channel_credentials in Python
2020-07-22 13:14:54 -07:00
Jan Tattermusch 80daba44d9 regenerate projects 2020-07-22 17:38:48 +02:00
Mark D. Roth c66d826298 Merge remote-tracking branch 'upstream/master' into xds_logging 2020-07-21 11:31:28 -07:00
Lidi Zheng 666787d841 Metadata value has to be string or bytes 2020-07-21 11:16:56 -07:00
Lidi Zheng ffc6bce8ca Only >=3.7 allows annotate oneself as return type 2020-07-21 11:06:53 -07:00
Lidi Zheng 6e96a47dd6 Make pytype happy 2020-07-21 10:58:42 -07:00
Lidi Zheng b5f107d470 Support tuple and aio.Metadata interaction 2020-07-21 10:58:23 -07:00
Lidi Zheng 9a54627c0b Include re2 in source wheel && solve the missing --all complain 2020-07-20 17:06:26 -07:00
Richard Belleville f7d16b20a4 Fix docstring 2020-07-20 19:28:18 +00:00
Mark D. Roth a24306fa0c Merge remote-tracking branch 'upstream/master' into xds_logging 2020-07-20 10:36:43 -07:00
Richard Belleville 9448150eec Remove option to specify path 2020-07-17 16:46:38 -07:00
Karthik Ravi Shankar d7565c37a8 Revert "Adding Fake headers for header matching."
This reverts commit 8c013bfcdc.
2020-07-17 16:39:05 -07:00
Mark D. Roth 5afa417c89 Revert "Merge pull request #23524 from markdroth/xds_logging_revert"
This reverts commit b5b9172915, reversing
changes made to 47c6c826f7.
2020-07-17 14:48:20 -07:00
Mark D. Roth a0f08b1b06 Revert "Merge pull request #21941 from markdroth/xds_logging"
This reverts commit 37d5d93983, reversing
changes made to 0e8190a3c9.
2020-07-17 10:19:28 -07:00
Donna Dionne 8c013bfcdc Adding Fake headers for header matching. 2020-07-15 13:14:19 -07:00
Richard Belleville 999bbf1401 Format 2020-07-15 13:09:53 -07:00
Richard Belleville fd0d0f77df Fix Bazel warning 2020-07-15 13:03:16 -07:00
Richard Belleville e16e11cdcf Fix six dependency 2020-07-15 11:55:37 -07:00
Richard Belleville 892cfd883e Support asyncio interop client 2020-07-13 23:25:29 +00:00
Richard Belleville 36465e06f1 Merge remote-tracking branch 'origin/master' into python_google_default_creds 2020-07-13 19:32:59 +00:00
Richard Belleville 7e3f3d61a2 Format 2020-07-13 19:09:33 +00:00
Lidi Zheng ddbf4b6f9f Further reduce the spam log by doing nothing if GC has error 2020-07-13 11:18:46 -07:00
Bartosz Stebel 3b45262f03 Add __init__.py to cygrpc pyx_library 2020-07-12 22:56:56 +02:00
Richard Belleville df0978ceb0 Clean up build file 2020-07-10 15:18:46 -07:00
Richard Belleville 1b2e7fa318 Merge remote-tracking branch 'origin/master' into dynamic_stubs 2020-07-10 14:07:01 -07:00
Richard Belleville 23b9007198 Simplify raise statement 2020-07-10 13:54:48 -07:00
Richard Belleville 56ed8f3be4 Merge remote-tracking branch 'origin/master' into python_google_default_creds 2020-07-10 01:09:58 +00:00
Richard Belleville e9a90ab30a Clean up 2020-07-10 00:44:59 +00:00
Lidi Zheng 8f3bd10c03 Make sure >3 Python version triggers a failure 2020-07-09 15:34:06 -07:00
Lidi Zheng 27033c4f8d Update the hint for install Python header to depend on version 2020-07-09 15:17:37 -07:00
Richard Belleville b96edd3072 Stop trying to handle SIGSEGV 2020-07-08 10:52:32 -07:00
donnadionne be92b122b6
Merge pull request #22987 from donnadionne/new
Add support for xDS regex matchers.
2020-07-07 15:32:25 -07:00
Lidi Zheng e1b4a5507c
Merge pull request #23351 from lidizheng/silence-del
Suppress exceptions from the __del__ of channel object
2020-07-07 13:56:37 -07:00
Donna Dionne 8dd0cb4712 Add support for xDS regex matchers. 2020-07-07 13:17:25 -07:00
Lidi Zheng e7f42f1ff9 Add type annotation in comments 2020-07-07 10:45:11 -07:00
Lidi Zheng b61fe7ab33 Address comments 2020-07-07 10:17:38 -07:00
Lidi Zheng e58e24afb9 Allows poller to bound to ephemeral loops in multiple threads 2020-07-07 10:17:38 -07:00
Richard Belleville 23dacfc0b4 Add Python wrapper 2020-07-07 01:10:12 +00:00
Richard Belleville c8a8a6aea4 Get new core API design building 2020-07-07 00:18:42 +00:00
Richard Belleville ebe49df659 Don't clutter __init__.py quite as much 2020-07-03 10:14:02 -05:00
matthewstevenson88 c1e07d8308
Merge pull request #23165 from matthewstevenson88/matt-tls13
Enable TLS 1.3 in the C-core and all wrapped languages.
2020-07-01 07:56:18 -07:00
Lidi Zheng de075024a7 Suppress exceptions from the __del__ of channel object 2020-06-29 14:54:31 -07:00
Miguel Ángel d2b917030f
Fix typo 2020-06-28 17:17:47 +02:00
Richard Belleville 3dcc929adf Remove resolved TODO 2020-06-26 12:16:22 -07:00
Richard Belleville d4e8d9956c Run tests under setup.py 2020-06-26 12:11:31 -07:00
Richard Belleville 2f789e38ed
Merge pull request #23243 from gnossen/setup_py_improvements
Incrementally Improve setup.py
2020-06-26 11:13:48 -07:00
Richard Belleville 8459b49dd5 Buildifier 2020-06-26 17:55:51 +00:00
Yash Tibrewal a438ef58f1
Merge pull request #23293 from yashykt/retrychecksize
Add message-size check before message decompression with ordering change
2020-06-26 10:43:52 -07:00
Richard Belleville 2b09327a6f Yapf :( 2020-06-26 02:25:38 +00:00
Richard Belleville 4de06d0e22 Regenerate projects 2020-06-26 02:18:16 +00:00
Richard Belleville 4fefc6235f Let the wrapped language create the composite credential 2020-06-25 23:39:27 +00:00
Richard Belleville 3bdc5bb4d1 Change name to compute_engine_channel_credentials 2020-06-25 21:36:36 +00:00
Richard Belleville 330eaea53d Initial implementation of gce_channel_creds 2020-06-25 06:00:39 +00:00
Richard Belleville 1aae547e2c Regenerate projects 2020-06-25 04:48:28 +00:00
Matthew Stevenson 6822dd1d1e Merge remote-tracking branch 'upstream/master' into matt-tls13 2020-06-24 13:29:45 -07:00
Mark D. Roth 37d5d93983
Merge pull request #21941 from markdroth/xds_logging
Use upb textformat library to dump out raw xDS proto messages
2020-06-24 11:59:37 -07:00
Mark D. Roth c1d7180daa Use upb textformat library to dump out raw xDS proto messages 2020-06-24 10:10:03 -07:00
Lidi Zheng b9088ee9dd Address comments 2020-06-23 15:56:25 -07:00
Lidi Zheng 14d499a50f Make PyLint happy 2020-06-23 13:01:01 -07:00
Lidi Zheng 286a80dad5 Resolve the compatibility issue that get_runnint_loop is 3.7+ 2020-06-23 12:45:21 -07:00
Yash Tibrewal e98eaa5052
Revert "Revert "Add message-size check before message decompression"" 2020-06-23 12:19:07 -07:00
Lidi Zheng 6717ecb3cb Suppress the server dealloc warning 2020-06-23 12:12:51 -07:00
Lidi Zheng 019921f57a Add the new test to tests.json 2020-06-23 12:11:57 -07:00
Lidi Zheng 8bcffaa5ca Hide init_grpc_aio and guard async API outside of AsyncIO context 2020-06-23 12:10:18 -07:00
Lidi Zheng b2c420fa44
Merge pull request #23265 from lidizheng/aio-context-info
[Aio] Implement methods to access auth context and peer info
2020-06-23 10:40:33 -07:00
Vijay Pai c7f2956b67
Revert "Add message-size check before message decompression" 2020-06-22 16:18:36 -07:00
Lidi Zheng ae49a85038 Fix the typo 2020-06-22 13:47:30 -07:00
Lidi Zheng b96381694c Sort tests.json alphabetically 2020-06-22 12:57:09 -07:00
Mark D. Roth 4d541fc30a
Merge pull request #23051 from markdroth/xds_config_selector2
Add ConfigSelector API.
2020-06-22 12:30:21 -07:00
Lidi Zheng 11a29eb95a Implement methods to access auth context and peer info 2020-06-22 12:14:39 -07:00
Yash Tibrewal d48d39c432
Merge pull request #23177 from yashykt/checksizebeforedecompress
Add message-size check before message decompression
2020-06-19 17:47:48 -07:00
Richard Belleville 4fcf9d01d2 Address review comments 2020-06-19 15:31:55 -07:00
Yash Tibrewal 0497ad8bb0 Add missing message-size check before decompressing
Add and fix tests for limit check before decompression

Code restructuring to allow easy reuse of service config call data

Regenerate projects

Reviewer comments
2020-06-19 14:49:18 -07:00
Mark D. Roth 133918ec70 Add ConfigSelector API. 2020-06-18 12:57:43 -07:00
Matthew Stevenson df6f8c0729 Merge remote-tracking branch 'upstream/master' into matt-tls13 2020-06-18 11:37:03 -07:00
Richard Belleville af222241a7 Give up on getting compiler executable from distutils 2020-06-18 10:40:31 -07:00
Richard Belleville edcf210050 Use proper compiler 2020-06-17 22:00:54 -07:00
Richard Belleville 08e117ae80 Improve build slightly 2020-06-17 16:12:59 -07:00
Richard Belleville 1f53f13446 Merge remote-tracking branch 'origin/master' into dynamic_stubs 2020-06-17 14:47:07 -07:00
Richard Belleville 71567b6096 Allow the user to specify grpclb config 2020-06-17 19:49:16 +00:00
Richard Belleville 06eb0ac7bd Fix up aio interop client 2020-06-17 18:39:34 +00:00
Lidi Zheng 43a574d1ae Trust google-auth library will handle their dependency properly 2020-06-15 13:32:28 -07:00
Richard Belleville b821ff99a8 Initial working implementation 2020-06-13 00:11:43 +00:00
Lidi Zheng 72f2b99097 Guard _ChannelCallState.__del__ from cygrpc being deallocated early 2020-06-12 13:25:40 -07:00
Lidi Zheng c47bc1a709
Merge pull request #23045 from Skyscanner/issue-21953_use-metadata-type
[Aio] Use Metadata type
2020-06-12 12:45:25 -07:00
Lidi Zheng 9a3ae47658 Pump up the minimum version of google-auth to 1.17.1 2020-06-12 10:48:47 -07:00
Matthew Stevenson 039e009faa Fix memory leak, per Yang's comment. 2020-06-11 19:21:51 -07:00
Lidi Zheng 8cd6ee6297
Merge pull request #23176 from lidizheng/fix-del
Avoid attribute error in __del__ of _ChannelCallState
2020-06-11 13:38:54 -07:00
Matthew Stevenson 432823cbf6 Add check that unused bytes size is at most received bytes size. 2020-06-11 11:54:28 -07:00
Matthew Stevenson 264592275b Revert "Check unused bytes size is smaller than received bytes size, and fix Python format in _server_ssl_cert_config_test.py"
This reverts commit 7d0ae9cf2e.
2020-06-11 11:30:22 -07:00
Matthew Stevenson 7d0ae9cf2e Check unused bytes size is smaller than received bytes size, and fix Python format in _server_ssl_cert_config_test.py 2020-06-11 11:29:24 -07:00
Mariano Anaya 376c0f0767 Add missing metadata TypeError case
Code formatted.
2020-06-11 09:32:55 +02:00
Richard Belleville c483ece5dd
Merge pull request #23163 from gnossen/wait_for_ready_default
Default wait_for_ready to True in simple stubs
2020-06-10 16:37:26 -07:00
Richard Belleville 4b497f7156 Compensate for low test default timeout 2020-06-10 13:08:35 -07:00
Richard Belleville 93477ae55f That line changed count seemed a bit big 2020-06-10 12:06:09 -07:00
Richard Belleville 5811df0fd0 Yapf 2020-06-10 12:00:18 -07:00
Richard Belleville 357c78c822 Simplify implementation 2020-06-10 11:54:26 -07:00
Richard Belleville 6344b2b97f Support infinite timeouts 2020-06-10 11:48:22 -07:00
Lidi Zheng 7294172c8f Avoid attribute error in __del__ from _ChannelCallState 2020-06-10 09:40:16 -07:00
Richard Belleville 80e834abab
Merge pull request #23107 from gnossen/contextvars_propagation
Propagate contextvars to auxiliary threads
2020-06-09 16:04:35 -07:00
Richard Belleville 00d20bb70a Use self.fail 2020-06-09 10:56:34 -07:00
Matthew Stevenson a575049c03 Changes needed to enable TLS 1.3. 2020-06-08 18:56:15 -07:00
Richard Belleville 25cdba8a70 Yapf 2020-06-08 12:50:33 -07:00
Richard Belleville 50cab884e1 Default wait_for_ready to True 2020-06-08 12:44:37 -07:00
Richard Belleville e329de88e7 Add failing test 2020-06-08 12:22:59 -07:00
Mariano Anaya 18e0f9f533 Remove metadata as optional from AioRpcError 2020-06-08 17:02:32 +02:00
Mariano Anaya 36f79adaf9 Remove references to the old MetadataType 2020-06-08 16:52:31 +02:00
Richard Belleville 27e1ccc92d
Merge pull request #23153 from gnossen/simple_trust_store
Simplify channel credentials in simple stubs
2020-06-05 16:26:00 -07:00
Richard Belleville bacbf3b85f Fix argument order 2020-06-05 14:43:45 -07:00
Srini Polavarapu 057091fe1f Regenerate projects 2020-06-05 13:54:32 -07:00
Richard Belleville 8c96f976da Yapfity yapf. Don't yapf back 2020-06-05 13:08:16 -07:00