Commit Graph

2148 Commits

Author SHA1 Message Date
Mark D. Roth 496d0676c8
Merge pull request #16507 from markdroth/health_checking_client
Health checking client
2018-10-24 13:17:01 -07:00
Mark D. Roth f85fd026e3 Client-side health checking support. 2018-10-24 12:29:04 -07:00
Yihua Zhang 81bc942cd8 security connector refactor 2018-10-22 09:37:48 -07:00
Vishal Powar a33e796575 Changes to register xds plugin init and shutdown.
Also,
 - Changes to extract grpclb_proto into its own build target
 - Remove client_load_reporting_filter from xds plugin.
2018-10-18 12:43:42 -07:00
ncteisen 247b5b70c4 Merge branch 'master' of https://github.com/grpc/grpc into channelz 2018-10-15 15:59:36 -04:00
ncteisen c27d2fcbbe Ban gevent test 2018-10-15 15:59:27 -04:00
Lidi Zheng 08588f7077
Merge pull request #16864 from lidizheng/master
Fix Exception throw for invalid channel args
2018-10-15 09:58:08 -07:00
Lidi Zheng 118e134ded fix Exception throw for invalid channel args
* unit test included
* throw ValueError exception from Cython to Python
* prevent the deconstruction method from failing when Channel initialization failed
2018-10-14 23:33:58 -07:00
Mehrdad Afshari 9d2f985f55 Revert "Bazel rules for gRPC Python interop tests"
This reverts commit 9172775bc8.
2018-10-12 12:12:36 -07:00
Mehrdad Afshari 45e8ada064 Revert "Bazel rules for Python grpcio_reflection"
This reverts commit 2e78e516ad.
2018-10-12 12:12:29 -07:00
Nathaniel Manista 73419c49ac
Merge pull request #16831 from ghostwriternr/bazel-python-reflection
Bazel rules for Python grpcio_reflection.
2018-10-12 13:27:26 +02:00
Nathaniel Manista 8ae3285323
Merge pull request #16813 from ghostwriternr/bazel-python-interop-tests
Bazel rules for gRPC Python interop tests.
2018-10-12 10:14:13 +02:00
Naresh 2e78e516ad
Bazel rules for Python grpcio_reflection 2018-10-11 09:14:58 +00:00
Naresh 9172775bc8 Bazel rules for gRPC Python interop tests
Add interop tests for gRPC Python. py_proto_library rules are added to
src/proto/grpc/testing/BUILD since grpc_proto_library is not compatible
with py_* rules.

'requests' python module is added to requirements.bazel.txt as it is a
dependency for google-auth. Previously, this was installed through
tools/run_tests/helper_scripts/build_python.sh before running tests.
2018-10-11 08:43:34 +00:00
Naresh 873e0757cb
Bazel rules for Python grpcio_health_checking
Add Bazel rules for building and testing grpcio_health_checking.

An unofficial fork for rules_protobuf is used for now as it incorporates
a change (#196 by duduko on the upstream repo pubref/rules_protobuf)
which allows the protoc compiler to compile generated protos too. This
was not merged because the change was failing for golang, but works as
expected for Python.

This is needed because grpcio_health_checking fetches it's proto file
from a different directory (previously achived through setup.py) and
thus needs to be moved to the required location within bazel-genfiles
using a genrule.
2018-10-09 17:04:11 +00:00
Stanley Cheung e5ce1e36e6 Regenerate projects 2018-10-08 15:50:50 -07:00
Nathaniel Manista 83b678220e
Merge pull request #16335 from ghostwriternr/python_bazel_4
Add Bazel targets for (some) Python unit tests.
2018-10-08 14:44:20 +02:00
Naresh e80230ae6f
Add Bazel targets for Python unit tests
There are exactly 50 tests under grpcio_tests/tests/testing and
grpcio_tests/tests/unit for gRPC Python. Add Bazel targets for 44 of
them. unit._reconnect_test has been left out for now due to an
unexpected RuntimeError (#16336) and unit._server_ssl_cert_config_test
because of changes needed to the import path within
src/python/grpcio_tests/tests/testing/proto/services.proto (will
possibly be included as a fix to #15370).

The count of tests here is reported the way unittest counts tests, which
is the number of individual unit test classes it sees. This will be
different from Bazel's count, which counts the number of Bazel test
targets, which (by convention mostly) is one per test module.
2018-10-03 11:11:27 +00:00
hcaseyal a46ac13db3
Merge pull request #16735 from hcaseyal/delete_lookup_table
Delete hpack lookup table
2018-10-01 15:22:05 -07:00
Hope Casey-Allen 4772a743e8 Delete hpack lookup table 2018-09-28 13:47:04 -07:00
Vijay Pai be18cedf90 Delete epollsig poller and tests using it 2018-09-22 08:07:47 -07:00
hcaseyal 5bb69e0f01
Merge pull request #16488 from hcaseyal/hpack_static_table
Hpack changes part 1: make grpc use the static hpack table on the encode path and optimize encoding
2018-09-20 09:32:59 -07:00
Hope Casey-Allen 327c514fe7 Some reorganizing to respond to code review comments 2018-09-19 13:50:25 -07:00
Mehrdad Afshari 3586ac1c99 Fix SSL channel credential when an argument is None 2018-09-17 11:08:00 -07:00
Nathaniel Manista 9eebb6d13d
Merge pull request #16378 from ghostwriternr/module-level-logger-fix
Configure module level loggers with basicConfig().
2018-09-06 17:45:50 +02:00
Ruslan Nigmatullin dcc0a223c6 [bazel] Fix python BUILD rules
* Add missing cython sources
* Make grpcio a library as it is not a binary
2018-09-04 23:19:57 +00:00
Juanli Shen 35501ad1df
Merge pull request #16467 from AspirinSJL/bump_master
Bump version to 1.16.0-dev
2018-08-27 18:34:38 -07:00
Yash Tibrewal 8d47cd4992
Revert "Revert "Fathom tcp changes"" 2018-08-27 14:56:01 -07:00
Juanli Shen 8ceb27a324 Regenerate projects 2018-08-27 14:27:55 -07:00
Jan Tattermusch 97ba943f17
Revert "Fathom tcp changes" 2018-08-27 12:43:20 +02:00
Yash Tibrewal aab47cbdf2
Merge pull request #15941 from yashykt/fathomtcpchanges
Fathom tcp changes
2018-08-24 12:27:56 -07:00
Eric Gribkoff 3d1dacd73d Check poll strategy in core fork handler and log error if unsupported 2018-08-23 09:40:39 -07:00
Eric Gribkoff acc020caf7 Support tracking and closing fds post-fork in ev_poll_posix
This extends gRPC Python's fork compatibility to Mac OS, which does not support
epoll

The changes are a no-op if fork support is disabled
2018-08-23 09:40:39 -07:00
Mehrdad Afshari 77b7133244
Merge pull request #16435 from mehrdada/move-cred-wrapper-into-credentials.pyx
Move _server_cert_config_fetcher_wrapper to credentials.pyx.pxi
2018-08-23 08:42:04 -07:00
Eric Gribkoff dcbfa70226
Merge pull request #16432 from ericgribkoff/allow_pthread_atfork_mac
Define the allow pthread atfork macro for gRPC Python MacOS builds
2018-08-22 21:01:58 -07:00
Mehrdad Afshari 3a5da64e5d Move _server_cert_config_fetcher_wrapper to credentials.pyx.pxi 2018-08-22 18:25:18 -07:00
Eric Gribkoff e04ba7568c
Merge pull request #16318 from ericgribkoff/fork_support_v2_check_if_shutdown
Python fork handler checks if gRPC core successfully shutdown
2018-08-22 15:38:21 -07:00
Juanli Shen 142acb3b0f
Merge pull request #16425 from lamby/spelling-errors
Fix a number of spelling errors.
2018-08-22 14:20:24 -07:00
Eric Gribkoff b59d8674d2 Python post-fork handler: exit if grpc shutdown fails 2018-08-22 13:07:22 -07:00
Eric Gribkoff 0ff641a246 Define the allow pthread atfork macro for gRPC Python MacOS builds 2018-08-22 12:25:08 -07:00
Eric Gribkoff f8cf7ee56d Support gRPC Python client-side fork with epoll1
A process may fork after invoking grpc_init() and use gRPC in the child
if and only if the child process first destroys all gRPC resources
inherited from the parent process and invokes grpc_shutdown().
Subsequent to this, the child will be able to re-initialize and use
gRPC. After fork, the parent process will be able to continue to use
existing gRPC resources such as channels and calls without interference
from the child process.

To facilitate gRPC Python applications meeting the above constraints,
gRPC Python will automatically destroy and shutdown all gRPC Core
resources in the child's post-fork handler, including cancelling
in-flight calls (see detailed design below). From the client's
perspective, the child process is now free to create new channels and
use gRPC.
2018-08-22 10:34:54 -07:00
Chris Lamb fba18d8551 Fix a number of spelling errors. 2018-08-22 16:52:46 +01:00
Mehrdad Afshari 0aa1bd2ed4 Ensure thread_pool is not None for grpc.Server 2018-08-21 17:29:35 -07:00
Naresh a20e2073c1
Configure module level loggers with basicConfig()
Module level loggers were introduced to gRPC Python in 06e1683, but
missed configuring these, leading to 'No handler found for module'
errors. Using the root logger implicitly calls basicConfig() which does
the basic configuration for the logging system by creating a
StreamHandler with a default Formatter and adding it to the logger. But
this is not the case for module level loggers.

Fix this issue by explicitly calling logging.basicConfig().
2018-08-17 12:24:58 +00:00
Vijay Pai 381bcab8bd Move a file from src/cpp to src/core since core depends on it 2018-08-16 15:44:19 -07:00
Paul Petit 33e5c0d091 Replace is by == for a status comparison
This worked fine with CPython, but the condition
was always evaluated to False with Pypy, causing
bugs down the road.
Tested with Pypy 6.0.
2018-08-16 11:35:30 +02:00
Yash Tibrewal 556775d7c7 Merge master 2018-08-13 10:53:06 -07:00
Eric Gribkoff ea7c0a60c5
Merge pull request #16296 from ericgribkoff/close_segfault_fix
Check if Python channel is closed before starting core ops
2018-08-10 13:35:24 -07:00
tdbhacks bcd747d42d Added system roots feature to load roots from OS trust store
Added a flag-guarded feature that allows gRPC to load TLS/SSL
roots from the OS trust store. This is the Linux-specific
implementation of such feature.
2018-08-09 11:01:31 -07:00
Eric Gribkoff 5a664d7260 check if channel is closed before starting core ops 2018-08-09 09:02:32 -07:00