Commit Graph

1703 Commits

Author SHA1 Message Date
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 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
Yihua Zhang a3d997cbdc Add a TLS credential surface API (experimental) 2019-01-29 10:04:28 -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 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
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 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
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
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
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
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 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
Alexander Polcyn 00763bc3ea Support named scope id's with ipv6 resolver on posix 2018-12-26 11:03:43 -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 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
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 468ae0f486 add tracking issue 2018-12-17 08:53:09 -08:00
Eric Gribkoff 082b63e095 Refactor server deallocation 2018-12-17 08:53:09 -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 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 a324bcaad0 Pre-fix python3 pylint failures 2018-12-06 14:51:00 -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