Commit Graph

2594 Commits

Author SHA1 Message Date
hcaseyal 275296c594
Revert "LB policy picker API" 2019-02-19 11:05:52 -08:00
yang-g 0df63d3c98 Merge branch 'master' into shutdown 2019-02-15 21:51:03 -08:00
Eric Gribkoff b7947776f8
Merge pull request #16513 from ericgribkoff/python_unit_fork_tests
Add fork tests as Python unit tests
2019-02-15 18:31:45 -08:00
Eric Gribkoff ff0d2195cf address comments 2019-02-15 17:00:21 -08:00
yang-g 3c61849461 python changes 2019-02-15 15:48:52 -08:00
Eric Gribkoff 2ea6d3ef0b Add fork tests as Python unit tests 2019-02-15 09:50:46 -08:00
Srini Polavarapu f7f6861720
Merge pull request #18033 from srini100/master
Bump master to v1.20.x and pick "godric" for that release
2019-02-13 12:17:12 -08:00
Mark D. Roth bab8123763 LB policy picker API 2019-02-13 08:30:04 -08:00
Srini Polavarapu b0efc103e3 Regenerate projects 2019-02-12 21:07:42 -08:00
Arjun Roy 195a30bb8b Grpc: Change grpc_handshake and grpc_handshake_mgr to use CPP implementations.
grpc_handshake is renamed to GrpcHandshake, using C++ class definitions
instead of C-style vtable classes. Update callers to use new interfaces.
We use RefCountedPtr to simplify reference tracking.
2019-02-11 11:35:08 -08:00
Eric Gribkoff 5a20b60cda fix flake in test_abort_does_not_leak_local_vars 2019-02-05 09:21:02 -08:00
Eric Gribkoff 28252eb0dd force gc in test 2019-02-01 15:32:34 -08:00
Eric Gribkoff c5255e9a5e python: do not store raised exception in _Context.abort()
Python 3 exceptions include a `__traceback__` attribute that includes
refs to all local variables. Saving the exception results in leaking
references to the, among other things, the Cython grpc_call wrapper and
prevents garbage collection and release of core resources, even after
the server is shutdown.

See
https://www.python.org/dev/peps/pep-3134/#open-issue-garbage-collection
2019-02-01 09:32:39 -08:00
Eric Gribkoff 7da0aacef2 Revert "Merge pull request #17644 from lidizheng/bzl-py3"
This reverts commit a25828ad78, reversing
changes made to 5176fd80fc.
2019-01-29 13:50:16 -08:00
yihuaz 6d3580421d
Merge pull request #17549 from yihuazhang/SPIFFE-API-CHANGE
Add a new TLS credential surface API
2019-01-29 12:56:34 -08:00
Vijay Pai 8fb2f4abea
Fix a common typo 2019-01-29 10:04:43 -08:00
Yihua Zhang a3d997cbdc Add a TLS credential surface API (experimental) 2019-01-29 10:04:28 -08:00
Lidi Zheng 5198ccd89c
Revert "Add basic benchmark test for Python" 2019-01-29 00:40:01 -08:00
Lidi Zheng a25828ad78
Merge pull request #17644 from lidizheng/bzl-py3
[gRPC] Enable Python 3 for Bazel to Run Tests
2019-01-28 16:23:33 -08:00
Lidi Zheng fcbb126baf Point the hack of proto message comparison to new issue 2019-01-28 14:56:52 -08:00
Lidi Zheng ec7d66940b
Merge pull request #17839 from lidizheng/issue-17831
Fix for macOS build
2019-01-28 13:53:16 -08:00
Lidi Zheng 91fde06b12 Remove the dependency of 'six' 2019-01-28 12:12:06 -08:00
Lidi Zheng 1a688982a4 Cast the str type if it is unicode 2019-01-28 11:33:19 -08:00
Lidi Zheng 16b8279ebe
Merge pull request #17793 from lidizheng/py-bm
Add basic benchmark test for Python
2019-01-28 11:00:37 -08:00
Lidi Zheng 7e90dad675 Adopt reviewer's advices 2019-01-28 10:55:19 -08:00
Lidi Zheng 8a7a75e2c8
Merge pull request #17811 from lidizheng/enable-channelz-test
Revert "Remove the fake package dependency && temporarily skip the Channelz tests"
2019-01-25 16:06:03 -08:00
Lidi Zheng f817d49e47 Update the README.md 2019-01-25 14:03:37 -08:00
Eric Gribkoff 196889cdad
Merge pull request #17724 from ericgribkoff/rename_context_hooks
rename census context hooks
2019-01-24 13:45:08 -08:00
Lidi Zheng 141e42f9b9 Revert "Remove the fake package dependency && temporarily skip the Channelz tests"
This reverts commit 08a90f03d4.
2019-01-24 13:45:07 -08:00
Richard Belleville dbad0522c3 Revert "Merge pull request #17752 from grpc/license-symlinks"
This reverts commit 3f8e15e2a4, reversing
changes made to a8662121c7.
2019-01-24 10:10:22 -08:00
Lidi Zheng b60c5cdc82 Adopte reviewer's suggestion 2019-01-23 12:27:43 -08:00
Lidi Zheng 95d4120f46 Add copyright to BUILD file 2019-01-22 18:34:17 -08:00
Lidi Zheng 4f451c78a4 Add basic benchmark test for Python 2019-01-22 16:50:47 -08:00
Richard Belleville 3f8e15e2a4
Merge pull request #17752 from grpc/license-symlinks
Stop copying LICENSE files
2019-01-22 10:23:07 -08:00
Lidi Zheng 0aa05958c2
Merge pull request #17543 from lidizheng/remove-foundation-dep
Remove dependency of grpc.framework.foundation.callable_util
2019-01-18 11:19:12 -08:00
Richard Belleville 8609f42e15 Stop copying LICENSE files 2019-01-17 15:16:37 -08:00
Lidi Zheng 17fa4b0caf Use monkey patch function to solve namespace package issue 2019-01-16 11:22:57 -08:00
Juanli Shen bbe2587c39 Enable per-channel subchannel pool 2019-01-15 14:15:18 -08:00
Eric Gribkoff 30a95d354c rename census context hooks 2019-01-15 13:04:34 -08:00
Yang Gao 75b8b1e2c6
Merge pull request #17697 from rmstar/remote_network_status_test
Remove network_status_tracker
2019-01-14 10:20:16 -08:00
Lidi Zheng 222db62721 Revert the compare of protobuf message to comparing encoded result 2019-01-11 17:03:51 -08:00
Eric Gribkoff 4d391b64e1 avoid AttributeError when object init fails 2019-01-11 13:35:02 -08:00
Prashant Jaikumar 95965f71d3 Remove network_status_tracker
Remove network_status_tracker and its unit test as it does nothing. We
can add tests for network status change in another commit.
2019-01-11 12:15:37 -08:00
Lidi Zheng 7df3475a9f Enable Bazel Python 3 for every PR
* Reverted hack in _reflection_servicer_test.py
* To see if Kokoro is happy about it
2019-01-09 14:36:23 -08:00
Eric Gribkoff 8d9190c0dd
Merge pull request #17675 from ericgribkoff/really_dealloc
correctly name __dealloc__ method
2019-01-09 12:01:10 -08:00
Eric Gribkoff 025cb9b1e7 correctly name __dealloc__ method 2019-01-09 10:33:48 -08:00
Richard Belleville ca5c0a8366 Switch to absolute import 2019-01-09 09:43:14 -08:00
apolcyn 26dddbb10d
Merge pull request #16187 from apolcyn/ipv6_resolver_scope_ids
Support named scope id's in grpc_parse_ipv6 on posix platforms
2019-01-08 14:36:20 -08:00
Lidi Zheng 0d931d9c8f Make Python 3 pass all unit tests 2019-01-07 13:41:02 -08:00
Lidi Zheng 814c858f3f Enable Python 3 2019-01-04 18:45:01 -08:00
Eric Gribkoff b542cc8917
Merge pull request #17642 from ericgribkoff/restore_fork_support_flag
restore cython flag value to default after test
2019-01-04 15:20:10 -08:00
Eric Gribkoff 9685299cd3
Merge pull request #17641 from ericgribkoff/logging_test_fix
Do not reload grpc in unit tests
2019-01-04 15:19:41 -08:00
Eric Gribkoff 4b2086eecd restore cython flag value to default after test 2019-01-04 14:12:11 -08:00
Eric Gribkoff d79d2f1ca7 Do not reload grpc in unit tests
This can break subsequently run tests, including any which have already
stored references to gRPC enums (such as grpc.StatusCode.OK). The
subsequent tests will compare now be comparing the old enums to the
reloaded enums, and they will not match. This causes errors in
_metadata_code_details_test and a hang in _metadata_flags_test, when run
in sequence locally after _logging_test.

It's unclear why this has been working on Kokoro, but it is reproducible
locally and is behavior that should be avoided.
2019-01-04 14:03:31 -08:00
Sanjay Pujare 94d5587643 Regenerate projects 2019-01-03 15:35:20 -08:00
Richard Belleville a76465c65c
Merge pull request #17600 from grpc/memory-leak
Free grpc_channel_args after creation
2018-12-27 16:42:43 -08:00
Richard Belleville 87e45f384c
Merge pull request #17580 from grpc/expose-version
Expose version
2018-12-27 16:20:11 -08:00
Richard Belleville 0daa420417 Free grpc_channel_args after creation 2018-12-27 15:21:12 -08:00
Richard Belleville dd4830eae8 Make gRPC version string available as grpc.__version__ 2018-12-27 13:50:30 -08:00
Eric Gribkoff 4e3e46df22 fix test 2018-12-27 11:53:54 -08:00
Eric Gribkoff e678187996 use test constants, fix formatting 2018-12-27 09:39:53 -08:00
Eric Gribkoff b74af8c70b skip test with gevent 2018-12-26 15:04:38 -08:00
Eric Gribkoff 71e7e6ddc7 Add Watch method to health check service 2018-12-26 12:39:58 -08:00
Alexander Polcyn 00763bc3ea Support named scope id's with ipv6 resolver on posix 2018-12-26 11:03:43 -08:00
Eric Gribkoff b6b745f22d disable broken gevent test 2018-12-21 15:04:42 -08:00
Eric Gribkoff 2f029bade0 Clean up server and channel objects in tests 2018-12-21 15:04:42 -08:00
Jan Tattermusch 95511c0cfd
Merge pull request #17407 from jtattermusch/interop_csharp_sni_fix
better testing of SNI for C-based languages
2018-12-21 11:12:46 +01:00
Lidi Zheng 102d5d88a6
Merge pull request #17570 from lidizheng/fix-complain
Fix Complain of Higher Version Pylint
2018-12-20 14:21:14 -08:00
Mark D. Roth db9be19f5d
Merge pull request #16008 from markdroth/client_channel_refactor
Refactor request routing code out of client_channel
2018-12-20 13:42:51 -08:00
Lidi Zheng 1ac4a01a0e Fix Complain of Higher Version Pylint 2018-12-20 12:13:08 -08:00
Lidi Zheng 97453a3d81
Merge pull request #17303 from lidizheng/sanity-python-3
Run pylint test in Python 3
2018-12-20 11:22:37 -08:00
Mark D. Roth 09f57c17ee Refactor request routing code out of client_channel. 2018-12-20 10:10:19 -08:00
Jan Tattermusch 4f261a071e do not use server override in python interop client by default 2018-12-20 14:49:54 +01:00
Eric Gribkoff 6211f4589b removed unused traceback import 2018-12-19 08:34:13 -08:00
Lidi Zheng 71094e25c5 Remove dependency of grpc.framework.foundation.callable_util
* Used in _channel.py, _server.py, and _utilities.py
* This API can trace back to 4 years ago
* The code change ensures the logging info is exactly the same
2018-12-18 11:43:53 -08:00
Eric Gribkoff 1af10acdac
Merge pull request #17444 from ericgribkoff/server_dealloc
Refactor server deallocation
2018-12-18 10:59:04 -08:00
Lidi Zheng cb408e70fb
Merge pull request #17535 from lidizheng/remove-fake-channelz-dependency
Remove the fake package dependency
2018-12-18 10:36:29 -08:00
Eric Gribkoff 3c49252d47 bazel docker image does not support ipv6 2018-12-17 21:05:13 -08:00
Eric Gribkoff 8183fe1299 fix BUILD.bazel 2018-12-17 18:29:25 -08:00
Lidi Zheng 08a90f03d4 Remove the fake package dependency && temporarily skip the Channelz tests 2018-12-17 15:11:44 -08:00
Eric Gribkoff 05d3ab2852 Address comments, improve tests 2018-12-17 15:09:46 -08:00
Eric Gribkoff 7bd03aeb0d Revert "Revert "re-enable ExitTest""
This reverts commit 1bd231605a.
2018-12-17 14:24:35 -08:00
Juanli Shen 1bd231605a
Revert "re-enable ExitTest" 2018-12-17 11:21:15 -08:00
Eric Gribkoff 718084c6b4 disable fork test on windows 2018-12-17 08:53:09 -08:00
Eric Gribkoff 468ae0f486 add tracking issue 2018-12-17 08:53:09 -08:00
Eric Gribkoff a76d72e0a6 add tests 2018-12-17 08:53:09 -08:00
Eric Gribkoff 082b63e095 Refactor server deallocation 2018-12-17 08:53:09 -08:00
Lidi Zheng d64fd75dd8
Merge pull request #17490 from lidizheng/py-status-3
Add grpcio-status extension package
2018-12-14 13:03:31 -08:00
Lidi Zheng 8621bd47ad Assign noop to build_package_protos for backward compatibility 2018-12-14 11:23:18 -08:00
Lidi Zheng 40b8ca97a1 Update docstring to make it more clear
* Mark API as experimental
* Rephrase the raise condition
* Add more detail to the returned object
2018-12-14 10:28:48 -08:00
Eric Gribkoff eb65dbb030
Merge pull request #17466 from ericgribkoff/exit_tests
re-enable ExitTest
2018-12-14 09:06:01 -08:00
Lidi Zheng b9cb2459ea Include LICENSE in artifact 2018-12-13 18:07:52 -08:00
Lidi Zheng 0e2f4061f5 Fix typo && remove unecessary except 2018-12-13 17:05:39 -08:00
Lidi Zheng 45b3230ef2 Add grpcio-status extension package
* The new package has 2 API `from_call` and `to_status`
* Utilize the experimental API `abort_with_status`
* Add 5 unit test cases
2018-12-13 10:18:44 -08:00
Eric Gribkoff e1c78993be re-enable unit._exit_test.ExitTest 2018-12-12 20:15:53 -08:00
Lidi Zheng e9cae6bba3
Merge pull request #17481 from lidizheng/py-status-2
New abort with grpc.Status API
2018-12-12 16:38:14 -08:00
Richard Belleville bd142d6c46 Actually build CensusContext 2018-12-12 14:59:50 -08:00
Lidi Zheng 087d48a8bd Update the documentation about the status code constraint 2018-12-12 14:31:52 -08:00
Lidi Zheng fd74fcf2a0 New abort with grpc.Status API
* Add `abort_with_status` method in ServicerContext
* Add `Status` interface similar to the design of Details in interceptor
* Add 3 unit test cases for abort mechanism
2018-12-12 13:48:39 -08:00
Richard Belleville e829a81118
Merge pull request #17460 from grpc/enable-census
Add hooks for census context propagation
2018-12-11 14:49:19 -08:00
Richard Belleville 6b3baf2618 Add hooks for census context propagation
Appease the yapf gods

Reformat
2018-12-11 12:59:31 -08:00
Noah Eisen 9e9cae7839
Merge pull request #17456 from ncteisen/socket-pagination
Channelz: Add Pagination to ServerSockets
2018-12-11 12:27:49 -08:00
ncteisen 7b1fc0faa2 Add max_results to ServerSockets 2018-12-11 08:24:40 -08:00
Mark D. Roth c5f344deaf
Revert "Revert "Allow encoding arbitrary channel args on a per-address basis."" 2018-12-11 07:48:14 -08:00
Lidi Zheng 8cb2d0546d Upgrade sanity Docker image to debian:stretch
* Use latest pylint in Python 3.7 (they dropped support for PY2)
* Make latest pylint happy
* Forced to upgrade to shellcheck 0.4.4
* Make shellcheck 0.4.4 happy
* Adopt reviewers' advice to reduce global disabled rules
2018-12-10 16:21:49 -08:00
hcaseyal 936512fe02
Merge pull request #17450 from grpc/revert-17343-server_address_list
Revert "Allow encoding arbitrary channel args on a per-address basis."
2018-12-07 17:31:18 -08:00
Lidi Zheng 64fc25f38c
Merge pull request #17411 from lidizheng/add-license
Add License to Python tarball
2018-12-07 16:49:52 -08:00
hcaseyal 27e2ba31bf
Revert "Allow encoding arbitrary channel args on a per-address basis." 2018-12-07 16:13:37 -08:00
Mark D. Roth dedff37b4f Allow encoding arbitrary channel args on a per-address basis. 2018-12-07 12:41:51 -08:00
Eric Gribkoff d74a6b1860
Merge pull request #17410 from ericgribkoff/channelz_stop_server
stop() server and enable skipped channelz test
2018-12-07 09:19:27 -08:00
Eric Gribkoff a324bcaad0 Pre-fix python3 pylint failures 2018-12-06 14:51:00 -08:00
Lidi Zheng 5584d58e6c Add LICENSE to grpcio-* packages
* Using the proprocess command to copy the LICENSE
2018-12-05 15:25:48 -08:00
Eric Gribkoff 9dce850250 stop() server and enable skipped channelz test 2018-12-05 11:48:17 -08:00
Eric Gribkoff 8998dfcb7a
Merge pull request #17396 from ericgribkoff/creds_close_hang
credentials: call grpc_init/grpc_shutdown when created/destroyed
2018-12-04 18:31:45 -08:00
Eric Gribkoff e699c47c1e credentials: call grpc_init/grpc_shutdown when created/destroyed
This addresses https://github.com/grpc/grpc/issues/17001. Prior to
https://github.com/grpc/grpc/pull/13603, our credentials cython objects
used grpc_initi() and grpc_shutdown() on creation and destruction. These are
now managed differently, but the grpc_init() and grpc_shutdown() calls
are still required. See the MetadataCredentialsPluginWrapper in C++,
which extends the GrpcLibraryCodegen class to ensure that grpc_init()
and grpc_shutdown() are called appropriately.

Without this, we can deadlock when a call to grpc.Channel#close()
triggers grpc_shutdown() to block and wait for all timer threads to
finish: one of these timer threads may end up unreffing the subchannel
and triggering grpc_call_credentials_unref, which will jump back into
Cython and hang when it tries to reacquire the GIL.
2018-12-04 14:29:04 -08:00
Lidi Zheng c339ba3229
Merge pull request #16971 from lidizheng/surface-exceptions
Surface exceptions from Cython to Python as much as possible
Fixed #16643
2018-12-03 16:42:13 -08:00
Lidi Zheng 7ef8fc826c
Merge pull request #17266 from lidizheng/python-channelz
Channelz Python wrapper implementation
2018-11-29 16:10:32 -08:00
Lidi Zheng 69b6c047bc Update docstring of Channelz function && add default variable initialization 2018-11-29 12:57:00 -08:00
Lidi Zheng 8e3234963e Update comments && modify function name 2018-11-29 11:29:43 -08:00
Eric Gribkoff 3a47e2c41d
Merge pull request #17307 from ericgribkoff/create_server_format
fix docstring on grpc.server
2018-11-29 09:40:03 -08:00
Lidi Zheng 7eddafabdd Disable three subchannel unit tests for gevent 2018-11-28 17:15:42 -08:00
Lidi Zheng 99f248ae12 Remove the `del` hack and skip server related test cases 2018-11-28 14:49:28 -08:00
Lidi Zheng d75abb6663 Adding comment about `del` about #17258 2018-11-28 14:32:36 -08:00
Eric Gribkoff d9f656a911 fix docstring on grpc.server 2018-11-28 11:13:06 -08:00
Lidi Zheng 53476eced4 Adopt reviewer's suggestions
* Correct the StatusCode
* Format code
* Use @staticmethod
* Fix typo
2018-11-28 10:30:39 -08:00
Mehrdad Afshari 8199aff7a6 Fix Python blocking interceptors facing RpcError
RpcError should be returned from the continuation intact,
not raised.
2018-11-28 00:53:46 -08:00
Lidi Zheng 43599facf4 Channelz Python wrapper implementation
* Expose the C-Core API in Cython layer
* Handle the object translation
* Create a separate package for Channelz specifically
* Handle nullptr and raise exception if seen one
* Translate C++ Channelz unit tests
* Adding 5 more invalid query unit tests

Adding peripheral utility for grpcio-channelz package
* Add to `pylint_code.sh`
* Add to Python build script
* Add to artifact build script
* Add to Bazel
* Add to Sphinx module list
2018-11-27 17:27:39 -08:00
Lidi Zheng 3adca9ff93 Surface exceptions from Cython to Python as much as possible 2018-11-27 12:11:09 -08:00
Ruslan Nigmatullin f8f711ae4c [cython] Declare symbols once 2018-11-26 22:12:16 -08:00
Lidi Zheng 4bc98acfd7
Merge pull request #17281 from lidizheng/issue-16718
Raise the exception while credential initialization
2018-11-26 10:35:20 -08:00
Lidi Zheng b7fd18daa4 Raise the exception while credential initialization 2018-11-26 10:15:14 -08:00
Jan Tattermusch 346d745c6e
Merge pull request #15640 from jtattermusch/slow_python_interop_build
Run interop tests using python3.4 (and build interop with 3.4 only)
2018-11-26 09:38:05 +01:00
Lidi Zheng e0d9692fa3
Merge pull request #17268 from mehrdada/remove-beta-elements-from-bazel
Remove beta module dependency from the Python Bazel package
2018-11-21 15:56:50 -08:00
Mehrdad Afshari e69c1b960f Remove BUILD.bazel files from beta code elements
Beta code elements are going to get deprecated and
Bazel support is much newer, so Bazel users are
not supposed to accidentally depend on beta code
elements.  Preventing Bazel from building and
including beta code elements makes our tests pass
without depending on beta in grpcio target and
helps avoid including that dependency accidentally
if you are using Bazel.
2018-11-21 13:40:10 -08:00
Mehrdad Afshari 107539c0d7 Removed unused import from grpc.beta in tests 2018-11-21 13:37:02 -08:00
Yash Tibrewal 248e304671 Merge branch 'master' into httpplumbing 2018-11-21 11:48:41 -08:00
Jan Tattermusch b609caebf1 trailing "-bin" metadata is binary 2018-11-21 19:12:15 +01:00
Jan Tattermusch 29f44db128 fix initial->trailing 2018-11-21 19:06:14 +01:00
Jan Tattermusch 95bae1ead9 make client_email loading python3 compatible 2018-11-21 13:08:30 +01:00
Mehrdad Afshari 989af50e1d Remove beta modules from the Python Bazel package 2018-11-21 00:17:25 -08:00
Eric Gribkoff b654c8d279 python: close channels in _server_ssl_cert_config_test 2018-11-20 15:29:02 -08:00
Muxi Yan f3e4ae633e Regenerate projects 2018-11-19 15:24:53 -08:00
Yash Tibrewal fc332d2c92 Merge master 2018-11-16 11:11:04 -08:00
Juanli Shen 8a880801ae Add support for LB config in service config 2018-11-15 13:31:27 -08:00
Yihua Zhang 3fefdde3cc remove ALTS shared resources 2018-11-13 09:44:28 -08:00
Lidi Zheng 9b65b40247 Label wait-for-ready argument in multicallables as experimental 2018-11-12 13:57:59 -08:00
Richard Belleville 27bab0c631
Merge pull request #17143 from grpc/module-root-logger
Only Add NullHandler to Module-Root Logger
2018-11-12 10:12:23 -08:00
Richard Belleville c477cb8597 Add missing transitive dependencies
This commit resolves an interop test currently failing on master. Over
the past couple of weeks, bazel-based tests have been introduced. The
current setup does not appear to automatically handle transitive
dependencies. Instead, transitive dependencies such as `requests` have
been manually added to `requirements.bazel.txt`. It appears that the
build server happened to have the dependencies of the `requests` library
installed already, but later had a configuration wipe.

This was compounded by the google-auth library erroneously reporting
that the `requests` module itself was not installed. In fact, it was the
transitive dependencies of `requests` that were not being installed by
the build file. (third-order dependencies of our test)

I consider this a quick fix to get the build passing. In the long run,
we need to automatically resolve and install transitive dependencies in
our bazel builds.

Resolves: #17170
2018-11-09 16:53:43 -08:00
Richard Belleville ecd9063424 Use single NullHandler for whole library
I was trying to get a feel for what the rest of the python ecosystem
does with its logging, so I looked into the top few libraries on pypi:

urllib3 maintains a logger for not quite every module, but for each
one that does heavy lifting. The logger name is `__name__`, and no
handlers are registered for any module-level loggers, including
NullHandler. Their documentation spells out how to configure logging
for the library.

They explicitly configure a library root-level logger called `urllib3`
to which they attach a `NullHandler`. This addresses the "no handlers
could be found" problem.

Their tests explicitly configure handlers, just like ours do.

scrapy is more hands-on. It provides a configuration module for its
logging and a whole document on how to handle logging with scrapy. It
looks like log.py's whole reason for existence is making sure that a
handler is attached to to the scrapy handler at startup.

I think the extra complexity here is because scrapy also offers a CLI,
so there has to be some way to configure logging without resorting to
writing python, so I felt we didn't need to resort to this added
complexity.

---

Based on all of the libraries I've looked at, I think our current
approach is reasonable. The one change I would make is to explicitly
configure a `grpc` logger and to only attach a `NullHandler` to it
instead of putting the burden on the author of each new module to
configure it there.

With this change, I have

- Configured a logger in each module that cares about logging
- Removed all NullHandlers attached to module-level loggers
- Explicitly configured a `grpc` logger with a `NullHandler` attached

Resolves: #16572
Related: #17064
2018-11-09 08:47:42 -08:00
Lidi Zheng 01c6565fb5
Merge pull request #16995 from lidizheng/from-3.4-to-3.7
Migrate tests from Python 3.4 to Python 3.7
2018-11-07 11:11:02 -08:00
Lidi Zheng 678ea08950
Merge pull request #16919 from lidizheng/wait-for-ready
Add wait-for-ready semantics
2018-11-07 11:10:23 -08:00
Lidi Zheng a7a3f5b42e
Merge pull request #17074 from lidizheng/python-doc-gen
The new gRPC Python documentation generator
2018-11-07 11:08:19 -08:00
Lidi Zheng cabe8d8f10 New Python documentation generation
* Use templates instead of generating them every time
* Theme changed
* Add grpc_* modules
* APIs grouped
* No documentation for class members without docstring
* Add docstring for status code
2018-11-06 18:07:03 -08:00
Lidi Zheng 4821221e3a Add wait-for-ready semantics
* Include unit tests to test default behaviour, disable behaviour, enable behaviour of the wait-for-ready mechanism
* Import flags constants from grpc_types.h
* Use WaitGroup to wait for TRANSIENT_FAILURE state in unit test
2018-11-06 17:16:52 -08:00
Lidi Zheng 88150dbe2c
Merge pull request #17128 from lidizheng/add-comment-to-commands-py
Add background about gRPC Python's building process on macOS
2018-11-06 17:05:55 -08:00
Lidi Zheng 03841be6ce Add background about the special condition 2018-11-06 16:12:27 -08:00
Lidi Zheng 8a0b08b574 Migrate tests from Python 3.4 to Python 3.7 2018-11-06 15:37:51 -08:00
Jan Tattermusch 7517b839ac
Merge pull request #17057 from jtattermusch/faster_python_build
Add python monkey-patch for parallel build_ext compilation
2018-11-06 12:13:18 +01:00
Lidi Zheng 2a1fbccb2c
Merge pull request #16976 from benjaminp/remove-pkg_resources
Replace pkg_resources with pkgutil.
2018-11-05 17:00:46 -08:00
Lidi Zheng b8a9989005 Add support for utf-8 error messages
* Both server and client should be fine with utf-8 error messages now
* Adding an interop test: special status message
2018-11-05 13:31:02 -08:00
yihuaz 5e9c9792b5
Merge pull request #16773 from yihuazhang/alts_tsi_handshaker_use_pollset_set
Use gRPC thread model (i.e., pollset_set) in ALTS TSI implementation
2018-11-02 11:05:54 -07:00
Srini Polavarapu f00af6d1ab
Merge pull request #17081 from nathanielmanistaatgoogle/restore-python-bazel
Restore reverted Python Bazel work
2018-11-02 10:06:10 -07:00
Noah Eisen 53657b5de3
Merge pull request #17050 from ncteisen/channelz-sockets
Channelz: Socket Tracks Addresses
2018-11-01 23:39:51 -04:00
Benjamin Peterson 187f7e4e4c Replace pkg_resources with pkgutil.
pkg_resources (part of setuptools) is overkill for reading resource files. The standard library module pkgutil can do that just fine.
2018-11-01 17:01:12 -07:00
Yihua Zhang cd768ec12a use gRPC thread model 2018-11-01 16:26:46 -07:00
Richard Belleville b741454fe4
Merge pull request #17064 from gnossen/fix-logging
Fix logging
2018-11-01 16:11:28 -07:00
Lidi Zheng f091ba1b66
Merge pull request #17008 from stub42/yay_destructors
Handle missing globals in Python Channel destructors
2018-11-01 14:15:16 -07:00
Richard Belleville 18cc5f5dbe Use custom assertions 2018-11-01 13:29:28 -07:00
Richard Belleville cf624a98e6 Isolate logging in all test cases 2018-11-01 13:24:03 -07:00
Naresh cd931752ca 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-11-01 12:01:02 +00:00
Naresh e4382abc9c Bazel rules for Python grpcio_reflection 2018-11-01 12:01:02 +00:00
ncteisen 44b262c361 fix build and sanity 2018-10-31 21:11:28 -07:00
Richard Belleville dc05e31ff1 Appease the yapf gods 2018-10-31 17:22:30 -07:00
Richard Belleville 78eae493b4 Add explicit test that user can configure their own handler 2018-10-31 17:20:43 -07:00
Richard Belleville fec37654fb Fix splat 2018-10-31 17:04:51 -07:00
Richard Belleville acc72c0835 Format code 2018-10-31 16:47:56 -07:00
Richard Belleville 79d0424468 Pull out function to patch stderr 2018-10-31 16:45:54 -07:00
Richard Belleville b7335f5c01 Add test for 'No handlers could be found' problem 2018-10-31 16:43:36 -07:00
ncteisen 1a3c2d3e3a Move uri_parser to lib 2018-10-31 14:14:09 -07:00
Richard Belleville a3ffca1440 Format code 2018-10-31 11:47:13 -07:00
Richard Belleville db1294dd47 Add logging tests to tests.json 2018-10-31 10:56:29 -07:00
Jan Tattermusch 185a0a7028 add python monkey-patch for parallel build_ext compilation 2018-10-31 09:01:01 +01:00
Richard Belleville 4d086ef0f4 Fix various mind-numbing typos 2018-10-30 18:53:00 -07:00
Richard Belleville fb972c960f Add basicConfig handler to grpcio_testing 2018-10-30 18:44:06 -07:00
Richard Belleville 240ca50ec2 Add basicConfig handler to unit tests 2018-10-30 18:43:18 -07:00
Richard Belleville 839722adc5 Add NullHandler to avoid warnings about no handler 2018-10-30 18:16:53 -07:00
Richard Belleville 1e05d48d2d Revert "Configure module level loggers with basicConfig()"
This reverts commit a20e2073c1.
2018-10-30 17:53:50 -07:00
Richard Belleville ff1c31f47c Add failing unit test 2018-10-30 17:51:15 -07:00
ncteisen 3cb8b0b8cb Move uri_parser to common spot 2018-10-30 11:39:26 -07:00
Lidi Zheng 4e5ee57000 Change flag to `REQUIRE_CUSTOM_LIBRARIES_opt` 2018-10-30 10:00:55 -07:00
Lidi Zheng 7502a2311a
Try cleaner separation
* reduce possible contamination of environment variables
2018-10-29 22:48:35 -07:00
Lidi Zheng 688db0ec5b
Remove the environment variable changing line
* This commit failed `tools/run_tests/artifacts/build_artifact_csharp.sh`
* It doesn't make any sense!
2018-10-29 21:14:49 -07:00
Lidi Zheng 9569ebe770 Add reference to the issue 2018-10-29 16:38:20 -07:00
Lidi Zheng 465886533f Ensure libboringssl.a is always built for Python 2018-10-29 16:35:21 -07:00
Stuart Bishop 11ab724b97
Handle missing globals in Python Channel destructors
If the last reference to a Python object is at module scope, when
its destructor is run before program termination it may find that
the globals it requires no longer exist. Destructors of objects
likely to be stored at module global scope need to check that
globals exist before attempting to use them, to avoid warnings
being printed by the Python interpreter.

See grpc#17004
2018-10-26 00:54:21 +07:00
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 f71fd84e42 more stuff 2018-08-24 17:05:30 -07: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
Jan Tattermusch 02d4afb94c yapf code 2018-08-07 14:28:41 +02:00
Jan Tattermusch bc8495da7a upgrade python to protobuf 3.6.0 2018-08-07 14:28:40 +02:00
Nathaniel Manista 4725386352
Merge pull request #15993 from ghostwriternr/python_bazel_2
Minimal Bazel BUILD files for grpcio Python.
2018-08-03 06:56:12 +02:00
Mehrdad Afshari f61e16144e Add op index support for custom hooks 2018-08-02 09:56:52 -07:00
Naresh 848fd9d75f
Minimal Bazel BUILD files for grpcio Python
Follow-up on the additions in #15992. Pad the grpcio Python package
with necessary BUILD files along with 2 simple tests.
2018-08-02 14:46:36 +00:00
Mehrdad Afshari c666aa6151 Add low-level Cython debug/expansion hooks 2018-08-02 02:30:08 -07:00
Mehrdad Afshari 603b82c559 Add a matching _unwrap_grpc_arg 2018-07-31 11:43:40 -04:00
Mehrdad Afshari fbfebd8e4e Add Cython functionality to directly wrap grpc_arg 2018-07-30 22:24:36 -07:00
Alexander Polcyn 9896c64186 Revert "Merge pull request #16158 from apolcyn/revert_windows_breakage"
This reverts commit d9e8f86675, reversing
changes made to 04847aeb1e.
2018-07-27 01:38:26 -07:00
apolcyn d9e8f86675
Merge pull request #16158 from apolcyn/revert_windows_breakage
Revert "Merge pull request #15797 from apolcyn/windows_compile_and_sort"
2018-07-26 16:46:04 -07:00
Alexander Polcyn f34c653936 Revert "Merge pull request #15797 from apolcyn/windows_compile_and_sort"
This reverts commit ae8d3efc3a, reversing
changes made to e41215e181.
2018-07-26 14:32:07 -07:00
Mehrdad Afshari b12f0aaf07 Add SERVICE_NAME to reflection/health 2018-07-26 11:45:59 -07:00
apolcyn ae8d3efc3a
Merge pull request #15797 from apolcyn/windows_compile_and_sort
Enable c-ares address sorting on windows
2018-07-25 16:59:57 -07:00
Alex Polcyn 1b1d5e52e7 Get c-ares to compile and do address sorting on windows 2018-07-25 13:21:43 -07:00
Mehrdad Afshari b928f99fdf Disable ChannelConnectivityTest for the Beta API
The Beta API has been unsupported for a while and
we plan to disable the flaky tests in the Beta API
as we see them before we entirely remove it.
2018-07-25 10:47:17 -07:00
Srini Polavarapu 8c9af7464c Regenerate projects 2018-07-19 09:52:56 -07:00
Yash Tibrewal f0397933b0 Fathom TCP level changes. TracedBuffer for keeping track of all buffers
to be traced. Adding tests for Fathom and TracedBuffer. A lot more.
Please read PR description.
2018-07-16 16:28:15 -07:00
ncteisen afb9829819 Fix the muddled linkeage of channelz 2018-07-06 15:34:54 -07:00
Yihua Zhang c5f1eda10f implement loca credentials 2018-07-02 13:29:27 -07:00
David G. Quintas 3acf8e6207
Merge pull request #15840 from dgquintas/common_nanopb
Update to use the canonical version of LB proto
2018-06-22 16:04:32 -07:00
Juanli Shen f5f1d57d7a Add load reporting filter 2018-06-22 10:00:48 -07:00
David Garcia Quintas f3955ba711 Update to use the canonical version of LB proto 2018-06-21 17:46:31 -07:00
Mehrdad Afshari 84955e7a48 Upmerge v1.13.x into master 2018-06-20 16:01:20 -07:00
Mehrdad Afshari 650fcb6b8d Add MANIFEST and README to grpcio_testing package 2018-06-20 11:26:29 -07:00
ncteisen 68d4f50f77 Merge branch 'master' of https://github.com/grpc/grpc into channelz 2018-06-19 14:00:52 -07:00
Mark D. Roth 9e3e64604d
Merge pull request #15274 from JackOfMostTrades/verify-callback-core
Create verify_peer_options when creating ssl credentials to support a peer verification callback
2018-06-19 10:00:16 -07:00
Jim King 01cbab60f3
Merge pull request #15070 from Vizerai/filter_port
Adding opencensus grpc plugin with bazel support.
2018-06-18 17:01:26 -07:00
Alexander Polcyn 7eda61937e Separate the posix part of the c-ares driver 2018-06-15 13:14:52 -07:00
Mehrdad Afshari 561630dfe2 Regenerate projects 2018-06-15 14:49:47 -04:00
ncteisen c14e95fc63 Merge branch 'master' of https://github.com/grpc/grpc into channelz 2018-06-15 11:13:46 -04:00
Srini Polavarapu d6616280d3
Merge pull request #15694 from srini100/bump-to-v1.14
Bump master to v1.14
2018-06-14 19:57:13 -07:00
Nathaniel Manista a5530e9e36 Specify thread-safety of grpc-created channels 2018-06-14 22:04:46 +00:00
Mehrdad Afshari b291f186be Refactor: reorder 2018-06-14 13:57:50 -07:00
Mehrdad Afshari 56142a5dbf Refactor: avoid calling with_call API
Avoid calling the public self.with_call
API internally and opt for sharing the
method body in a separate private method
and calling that instead.
2018-06-14 13:17:00 -07:00
ncteisen f92460e539 Merge branch 'master' of https://github.com/grpc/grpc into channelz 2018-06-13 23:00:07 -07:00
Mehrdad Afshari a33b807507 Re-raise grpc.RpcError instead of eating it 2018-06-13 16:32:00 -07:00
Mehrdad Afshari e9cbad592e Refactor: rename _LocalFailure to _FailureOutcome 2018-06-13 15:39:03 -07:00
Mehrdad Afshari e2ebd89a5f Optimize blocking intercepted stream-unary calls
Change the blocking stream-unary call code path to rely
on the underlying synchronous API, as opposed to calling
the Future-based underlying async API and invoking `.result()`
on the returned Future object immediately, which can be
resource-intensive.
2018-06-13 15:39:03 -07:00
Mehrdad Afshari 32919791c7 Optimize blocking intercepted unary-unary calls
Change the blocking unary-unary call code path to rely
on the underlying synchronous API, as opposed to calling
the Future-based underlying async API and invoking `.result()`
on the returned Future object immediately, which can be
resource-intensive.
2018-06-13 15:39:03 -07:00
kpayson64 30a0187aaa
Merge pull request #15744 from kpayson64/disable_lru
Disable LRU cache test on gevent
2018-06-13 15:18:14 -07:00
kpayson64 521246e2c5 Disable LRU cache test on gevent 2018-06-13 14:03:09 -07:00
Ian Haken 68eff58df6 Create verify_peer_options when creating ssl credentials in order to expose a verification callback option.
These options are not yet exposed to languages outside of core.
2018-06-12 12:59:37 -07:00
Nathaniel Manista 759eb90d2c
Merge pull request #15707 from ghostwriternr/fix-cython-file-endings
Update grpc_gevent cython files to include .pxi.
2018-06-11 16:01:42 -07:00
Nathaniel Manista b436d56d8b
Merge pull request #15689 from nathanielmanistaatgoogle/generic-rpc-handler-validation
Check conformance to grpc.GenericRpcHandler type.
2018-06-11 16:00:48 -07:00
Naresh 435c6f8d1e
Update grpc_gevent cython files to include .pxi
All files under `grpc/_cython/_cygrpc` in grpcio Python package
are used as include files and thus have a .pxi file extension.
grpc_gevent implementation was added in 1bfff8e, but didn't include the
.pxi file extension. Update these file names.
2018-06-11 23:34:59 +05:30
Srini Polavarapu 586c639795 Regenerate projects 2018-06-08 17:16:17 -07:00
Srini Polavarapu c79c156307 Regenrate projects 2018-06-08 17:01:18 -07:00
Mehrdad Afshari 92a06353e2
Merge pull request #15682 from mehrdada/bump-pylint
Bump pylint to 1.9.2
2018-06-08 15:21:29 -07:00
Nathaniel Manista 369d827445 Check conformance to grpc.GenericRpcHandler type 2018-06-08 21:07:14 +00:00
Nathaniel Manista 8872a312c3
Merge pull request #14879 from santoshankr/python_ssl_session_cache_lru
TLS session resumption support for Python clients.
2018-06-08 11:31:33 -07:00
Mehrdad Afshari d6547ea1a4 Change exception type to AssertError 2018-06-08 09:14:12 -07:00
Mehrdad Afshari f07f6c9a87 Remove comment that is no longer relevant 2018-06-08 08:31:30 -07:00
Mehrdad Afshari 6eac8c5e88 Run yapf to reformat Python code 2018-06-07 23:56:41 -07:00
Mehrdad Afshari 109b5b1dcc Fix arguments-differ pylint warning 2018-06-07 23:39:16 -07:00