Commit Graph

2443 Commits

Author SHA1 Message Date
Yash Tibrewal c3ae72c089 Merge branch 'master' into svc_cfg2 2019-04-19 00:43:32 -07:00
Yash Tibrewal 2c4c8438cc Message size filter parser and health check parser 2019-04-18 23:56:54 -07:00
Lidi Zheng 362d022972
Merge pull request #18783 from lidizheng/fix-ctrl-c
Propagate KeyboardInterrupt above completion queue
2019-04-17 11:53:52 -07:00
Lidi Zheng 09d18aa659 Propagate KeyboardInterrupt above completion queue 2019-04-16 15:30:48 -07:00
Lidi Zheng 123fd943f1 Revert "Revert "Merge pull request #18547 from lidizheng/fix-gevent""
This reverts commit a922bd7a03.
2019-04-16 14:13:04 -07:00
Mark D. Roth 62d9be1533
Merge pull request #18631 from markdroth/pare_down_channel_args_api
Move functions for individual args out of channel_args.{h,cc}.
2019-04-16 07:11:33 -07:00
Richard Belleville a922bd7a03 Revert "Merge pull request #18547 from lidizheng/fix-gevent"
This reverts commit 09d1011663, reversing
changes made to e076a30f16.
2019-04-15 12:47:50 -07:00
Richard Belleville 55bbf1cc1c
Merge pull request #18732 from grpc/compression_reversion_reversion
Unrevert Python Compression
2019-04-15 10:20:08 -07:00
Lidi Zheng 5721c518d9 Add DNS resolver test & Disable C-Ares for custom iomgr 2019-04-12 14:44:37 -07:00
Richard Belleville 392ffea8d5 Fix tests for internal runs 2019-04-11 14:31:58 -07:00
Richard Belleville f900eec41d Revert "Merge pull request #18727 from grpc/revert_compression"
This reverts commit 8054a731d1, reversing
changes made to c3d3cf8053.
2019-04-11 13:04:54 -07:00
Richard Belleville 167540efd4 Revert "Merge pull request #18564 from grpc/compression"
This reverts commit 9dfeb14be0, reversing
changes made to 7009f2df58.
2019-04-11 10:10:29 -07:00
Richard Belleville 5afd77398e Implement compression API within gRPC Python. 2019-04-09 15:14:03 -07:00
Mark D. Roth eccfecd6a6 Move functions for individual args out of channel_args.{h,cc}. 2019-04-03 13:15:40 -07:00
Lidi Zheng 0231bf3b01 Regenerate projects 2019-03-29 16:24:50 -07:00
Lidi Zheng 56605cd55d
Merge pull request #18488 from lidizheng/example-errors
Add Python example for error handling
2019-03-28 14:47:30 -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 478fec7d50
Merge pull request #18300 from lidizheng/disable-flaky-windows-gevent-test
Disable two flaky gevent tests
2019-03-27 11:40:04 -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
Lidi Zheng f527cfbbac Adopt review's advice
* Add a unit test
* Integrate with Bazel
* Polish README.md
2019-03-25 12:24:11 -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 4c3b577650 Add expectation to negative timeout test case 2019-03-15 17:42:50 -07:00
Lidi Zheng dfb5a2dbc6 Disable negative deadline test in gevent 2019-03-15 13:01:28 -07: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
Lidi Zheng 4966adaeae Disable two flaky gevent tests 2019-03-07 15:19:16 -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
Nicolas Noble 0fc01a302f
Merge pull request #18171 from huynq0911/fix_duplicated_word
Fix some typos
2019-02-27 19:15:53 -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