Commit Graph

1763 Commits

Author SHA1 Message Date
Lidi Zheng 0231bf3b01 Regenerate projects 2019-03-29 16:24:50 -07:00
Mark D. Roth 934e31d7d1
Merge pull request #18357 from markdroth/address_list_not_in_channel_args
Restructure how addresses and service config are passed from resolver to LB policy
2019-03-27 11:40:44 -07:00
Lidi Zheng c9b4d8347b
Merge pull request #18522 from lidizheng/fix-cython-int
Attempt to not depend on stdint.h
2019-03-26 16:24:25 -07:00
Lidi Zheng 04697287b7 Attempt to not depend on stdint.h 2019-03-26 13:48:39 -07:00
Fabian Holler 8c49802f75 add strsplit.c, strsplit.h files to build and test files
The files are new in the updated cares release.
2019-03-26 13:13:49 -07:00
Mark D. Roth 206592ce9c Restructure how addresses and service config are passed from resolver to LB policy. 2019-03-26 11:57:21 -07:00
Jared Hance 3de283c665 Make gil handling in completion queue more robust
It turns out that the code generation for "with gil" is a bit more
complicated than the logic for re-obtaining the gil at the end of
"with nogil." This is because PyGILState_Ensure seems to, during
interpreter finalization, think it needs to call a new thread
(resulting in a call to cpython new_threadstate) which then segfaults.

Because "with nogil" knows that, prior to executing, it already had
the gil, it doesn't need to set up as much state, and thus the segfault
does not occur.

To avoid this, we just only use "with nogil" within the infinite loop,
and then end the "nogil" block before we check signals. This avoids
needing any "with gil" call at all.

I was able to reliably reproduce the segfault within a few minutes
before the patch by running a binary in a loop (with py3) while
maxing out my machines cpu usage. After the patch, I have not
been able to reproduce the segfault after two hours.

Note that this race can only occur when the user does not properly
clean up all their channels, and is relying on garbage collection to
do so (which isn't guaranteed). However, we want to avoid a segfault
on failure to close because this isn't a good user error and makes it
hard to debug.
2019-03-20 12:01:11 -07:00
Lidi Zheng 0c70b0f008
Merge pull request #18414 from evanj/utf8-encodable
python docs: details are UTF-8 encodable, not just ASCII.
2019-03-19 12:59:22 -07:00
Evan Jones 86991f633d python docs: details are UTF-8 encodable, not just ASCII.
Context detail messages are Unicode strings in both the implementation and
specification. Fix the documentation to make this clearer. The
specification for the Status-Message response field says "Status-Message is
[...] a Unicode string [...] encoded as UTF-8" [1]. The implementation
seems to call _common.encode(), so anything that is UTF-8 encodable works.
For example:

    context.set_code(grpc.StatusCode.ABORTED)
    context.set_details('emoji error: \U0001F600')

Correctly returns a smiley face emoji to the client.
2019-03-18 10:59:18 -04:00
Lidi Zheng c3ecc61867 Use C-Core API to perform time conversion 2019-03-15 11:48:10 -07:00
Lidi Zheng 585582c4a7
Merge pull request #18383 from lidizheng/fix-ctypedef
Use correct C integer types in Cython
2019-03-15 11:31:06 -07:00
Lidi Zheng ec78d0f569 Use correct C integer types in Cython 2019-03-14 19:51:41 -07:00
Yihua Zhang b017c801b6 Add SPIFFE security stack to gRPC core 2019-03-14 15:24:48 -07:00
Richard Belleville 749c52de56 Refcount vtables 2019-03-08 15:31:37 -08:00
Yash Tibrewal abcd5861eb Nuking the poll-cv polling engine 2019-03-07 14:49:24 -08:00
Lidi Zheng c73c724778
Merge pull request #18277 from lidizheng/nogil-unref
Remove GIL for grpc_call_unref
2019-03-06 13:32:22 -08:00
Lidi Zheng 8326ac64e4 Remove GIL for grpc_call_unref 2019-03-06 09:57:30 -08:00
Richard Belleville efa1f8b993 Remove debug prints 2019-03-05 16:11:05 -08:00
Richard Belleville 07bfbec8f9 Fix hanging build 2019-03-05 16:09:31 -08:00
Lidi Zheng f28286b526
Merge pull request #18218 from lidizheng/simplify-batch
Simplify batch operations event interpretation
2019-03-04 12:23:08 -08:00
Lidi Zheng ef42aff699 Simplify batch operations event interpretation 2019-03-01 10:00:04 -08:00
Richard Belleville 1112d52f03 Revert "Merge pull request #18206 from grpc/revert-18182-enable-deadline-propagation"
This reverts commit 63ef07ebb5, reversing
changes made to 046e3e4ab5.
2019-02-28 15:50:20 -08:00
Vijay Pai 4f86edeb23
Revert "Enable deadline propagation" 2019-02-28 10:27:07 -08:00
Yang Gao 40241c5236
Merge pull request #18157 from yang-g/rollbackrollback
Roll-forward PR17308
2019-02-27 17:04:19 -08:00
Richard Belleville b558519d99
Merge pull request #18190 from grpc/new-pylint-errors
Fix new pylint errors
2019-02-27 11:35:46 -08:00
Lidi Zheng ee26faee27
Merge pull request #18133 from mehrdada/cleanup-c_creds
Remove unused ChannelCredentials.c_credentials
2019-02-27 10:36:19 -08:00
Richard Belleville 33be6cd732 Switch pattern for marking unused argument 2019-02-27 10:29:53 -08:00
Richard Belleville 1c05218497 Fix new pylint errors. 2019-02-27 09:43:39 -08:00
Richard Belleville 3c3eb36b36 Yapf 2019-02-26 17:00:23 -08:00
Richard Belleville 795efaa108 Appease the pylint gods 2019-02-26 16:35:19 -08:00
Richard Belleville 8665767aa5 Fix bad merge 2019-02-26 13:12:53 -08:00
Richard Belleville 2286fcd63e Merge branch 'master' into enable-deadline-propagation 2019-02-26 12:35:38 -08:00
Richard Belleville 969f698cf2 Enable deadline propagation 2019-02-26 12:33:53 -08:00
Eric Gribkoff 1c2303c635 use isinstance for internal api to not catch mocks 2019-02-25 21:44:26 -08:00
Lidi Zheng 07b2b54f07
Merge pull request #18116 from lifanov/cstd
generalize macOS workaround for -std=c++11 passed in C mode
2019-02-25 11:09:19 -08:00
yang-g 456f748b2f Revert "Merge pull request #18146 from grpc/revert-17308-shutdown"
This reverts commit 9079e98dfc, reversing
changes made to 76a38bfcc2.
2019-02-25 10:11:06 -08:00
Yang Gao 4bc2ca4de6
Revert "Move grpc_shutdown internals to a detached thread" 2019-02-22 16:34:24 -08:00
Nikolai Lifanov 580b720a39 address comments by ericgribkoff@
o re-add USE_PREBUILT_GRPC_CORE option that was erroneously removed
o fix typo in comment
2019-02-22 15:55:59 -08:00
Lidi Zheng 75df1eccad
Merge pull request #17881 from lidizheng/bzl-py3-fix
[Roll Forward] Enable Python 3 for Bazel to Run Tests
2019-02-22 11:42:42 -08:00
Nikolai Lifanov a916a53347 use str instead of Text to appease Python 2.7
The Python 2.7 Linux test runner doesn't have typing module available.
2019-02-22 11:32:26 -08:00
Mark D. Roth 5f00cfd3bd
Merge pull request #18096 from markdroth/lb_policy_api
Second attempt: LB policy picker API
2019-02-22 10:10:43 -08:00
Nikolai Lifanov 9eb1171dfb be compatible with Python 2 and Python 3
In Python 3, cc_err is going to be bytes().
2019-02-21 17:54:27 -08:00
Mehrdad Afshari 0ac7203777 Removed unused ChannelCredentials.c_credentials 2019-02-21 17:21:35 -08:00
Nikolai Lifanov ad093660ff format with yapf
This was already formatted with yapf, but perhaps I didn't do this
correctly. I copied the diff directly from kokoro build log this
time.
2019-02-21 16:15:33 -08:00
Nikolai Lifanov c1451e83d5 generalize macOS workaround for -std=c++11 passed in C mode
GCC allows this, but notably clang does not. Other systems,
like FreeBSD and some Linux distros ship with clang as default
compiler. While here, switch the approach to filtering out std
flag since the make workaround relies on GNU make syntax and
'make' binary could be bmake and/or gmake could be absent.

The idea to filter the flags was taken from an answer to this
Stack Overflow question:
https://stackoverflow.com/questions/15527611/how-do-i-specify-different-compiler-flags-in-distutils-for-just-one-python-c-ext
2019-02-21 15:49:04 -08:00
Lidi Zheng 9a548969ed
Merge branch 'master' into bzl-py3-fix 2019-02-21 14:14:23 -08:00
Yang Gao b03e014ad8
Merge pull request #17308 from yang-g/shutdown
Move grpc_shutdown internals to a detached thread
2019-02-20 15:37:18 -08:00
Lidi Zheng d209deb14b Revert "Revert "Merge pull request #17644 from lidizheng/bzl-py3""
This reverts commit 7da0aacef2.
2019-02-20 14:07:34 -08:00
Eric Gribkoff ae44187910 Merge branch 'master' into non_blocking_stream 2019-02-20 11:22:25 -08:00
Eric Gribkoff bf7107b9dc comments 2019-02-20 11:00:04 -08:00