Commit Graph

3379 Commits

Author SHA1 Message Date
Lidi Zheng 728f5881a2 Remove unused exception check condition 2020-02-18 16:28:18 -08:00
Lidi Zheng 37552d3e62 Restrucutre exception catches 2020-02-18 16:28:18 -08:00
Lidi Zheng 5a7093639f Suppress server stop log spamming 2020-02-18 16:27:55 -08:00
Lidi Zheng f89448a9d5 Adding more comments 2020-02-18 16:27:29 -08:00
Lidi Zheng 72514e9bf4 Adding more comments & fix the outstanding channel count 2020-02-18 16:27:29 -08:00
Lidi Zheng 4819d8ba6e Improve scenario configs & plumb through channel arguments 2020-02-18 16:27:29 -08:00
Lidi Zheng 68be8a7742 Improve log readability & polish scenario parameters 2020-02-18 16:27:29 -08:00
Lidi Zheng 03e1bf1071 Fix already cancelled RPC 2020-02-18 16:27:29 -08:00
Lidi Zheng efe29d6945 Use the correct asyncio API 2020-02-18 16:27:29 -08:00
Lidi Zheng f97ad240da Remove pdb trace point 2020-02-18 16:27:29 -08:00
Lidi Zheng 50840080fb Make YAPF happy 2020-02-18 16:27:29 -08:00
Lidi Zheng a345803331 Fix the channel_ready usage 2020-02-18 16:27:29 -08:00
Lidi Zheng 7cb055b035 Make server parallel-able 2020-02-18 16:27:29 -08:00
Lidi Zheng 94525e5831 Parallelize sub worker creation 2020-02-18 16:27:29 -08:00
Lidi Zheng 8a70e757fa Re-enable all scenarios 2020-02-18 16:27:29 -08:00
Lidi Zheng ef853425cc Use picked port instead of assigned port 2020-02-18 16:27:29 -08:00
Lidi Zheng 5e2114d92f Fix the sub worker 2020-02-18 16:27:29 -08:00
Lidi Zheng 2d81bd203f Introduce sub workers 2020-02-18 16:27:28 -08:00
Lidi Zheng 7cdef95c4f Make buildifier happy 2020-02-18 16:26:41 -08:00
Lidi Zheng 6f343fc758 Make sanity tests happy 2020-02-18 16:26:41 -08:00
Lidi Zheng 49980a6db1 Make benchmark worker work 2020-02-18 16:26:41 -08:00
Lidi Zheng 2916c351d5 Use bytes instead of str 2020-02-18 16:26:41 -08:00
Lidi Zheng c2a9f15079 One more fix for the benchmark_client.py 2020-02-18 16:26:41 -08:00
Lidi Zheng ae44213482 Fix typos in worker_servicer.py 2020-02-18 16:26:41 -08:00
Lidi Zheng afb080787e Clean up self references 2020-02-18 16:26:41 -08:00
Lidi Zheng 1ee45615e2 Add benchmark client, server, and worker 2020-02-18 16:26:41 -08:00
Lidi Zheng c65bad469b
Merge pull request #22026 from lidizheng/defects-test
Improve invocation_defects_tests with assertions and comments
2020-02-18 16:25:33 -08:00
Lidi Zheng 4c14e507cb
Merge pull request #22028 from lidizheng/aio-health-checking-2
[Aio] Implement health checking servicer in AsyncIO
2020-02-18 16:18:58 -08:00
Lidi Zheng 2294b847a2 Add OVERALL_HEALTH 2020-02-18 14:30:10 -08:00
Lidi Zheng b62eca8558 Update the wording in comments 2020-02-18 13:58:29 -08:00
Lidi Zheng 4c602d4ad6 Add type annotations 2020-02-18 12:45:00 -08:00
Lidi Zheng 7917bd3074 Fix a typo 2020-02-18 12:26:39 -08:00
Lidi Zheng 750b602118 Filter out duplicated status 2020-02-18 12:25:11 -08:00
Lidi Zheng a729bd1828 Revert "Report every health state change"
This reverts commit b2d8509f78.
2020-02-18 11:42:59 -08:00
Lidi Zheng b2d8509f78 Report every health state change 2020-02-18 11:23:23 -08:00
Lidi Zheng fe4eba490c Further simplify the loop 2020-02-18 10:39:06 -08:00
Lidi Zheng 545f312050 Simplify the logic and improve readability 2020-02-18 10:36:56 -08:00
Zhanghui Mao 6fef56573e Implement server interceptor for unary unary call 2020-02-15 23:39:34 +08:00
Mehrdad Afshari 9a929c1546 Do not validate details when status code is OK 2020-02-14 21:25:47 -08:00
Lidi Zheng 5622e9e78c Make sanity tests happy 2020-02-14 12:56:14 -08:00
Lidi Zheng 37055f923f Make pylint happy 2020-02-14 12:44:19 -08:00
Lidi Zheng 908a8489f0 Make the version check more strict 2020-02-14 12:30:24 -08:00
Lidi Zheng 43788ac44e Update the copyright 2020-02-14 12:29:26 -08:00
Lidi Zheng 7b4d0b28c6 Implement health checking servicer in AsyncIO 2020-02-14 12:27:42 -08:00
Lidi Zheng e6278b5333 Make the test intent more obvious 2020-02-14 12:08:53 -08:00
Lidi Zheng 909ce6fee2 Point out it is testing client-side behavior 2020-02-14 11:19:35 -08:00
Lidi Zheng 12b0ddbc2b Improve the documentation based on suggestions 2020-02-14 11:03:27 -08:00
Lidi Zheng 479651e4cf Remove NoReturn to support <3.6.2 2020-02-14 11:03:27 -08:00
Lidi Zheng 0c7bf6c434 Make sanity tests happy 2020-02-14 11:03:27 -08:00
Lidi Zheng 1945c1108f Move the docstring from Cython to rst 2020-02-14 11:03:10 -08:00
Lidi Zheng d743e4390a Fill-in missing interfaces & improve rst template 2020-02-14 11:03:10 -08:00
Lidi Zheng f17ec928df Fix lack of empty line in the docstring 2020-02-14 11:01:48 -08:00
Lidi Zheng 4c59615f46 Format __init__.py 2020-02-14 11:01:48 -08:00
Lidi Zheng 3cdd83bdac Improve invocation_defects_tests with assertions and comments 2020-02-14 10:56:40 -08:00
Lidi Zheng 11953d1315
Merge pull request #21988 from lidizheng/aio-fast-close-2
[Aio] Make client-side graceful shutdown faster
2020-02-14 10:36:49 -08:00
Richard Belleville c01b39e55b Pull Python 3 only tests out to a separate repo 2020-02-13 16:06:32 -08:00
Lidi Zheng 7a50172cc8 Handle the intercepted call case 2020-02-13 16:00:54 -08:00
Lidi Zheng e0f8fe3254 Ensure channel isolation is maintained while graceful close 2020-02-13 15:05:50 -08:00
Jan Tattermusch a28d67f0bf
Merge pull request #21891 from jtattermusch/remove_useless_release_links
get rid of the https://grpc.io/release plague
2020-02-13 17:43:41 +01:00
Lidi Zheng 5a29f33a25 Optimize the logic & add comments 2020-02-12 14:32:17 -08:00
Richard Belleville a859b9a98a Whoops 2020-02-12 10:46:59 -08:00
Lidi Zheng 2789f83f85 Make pytype happy 2020-02-12 10:46:56 -08:00
Lidi Zheng d2832e4bc6 Update tests.json 2020-02-12 10:44:15 -08:00
Richard Belleville e99cdfa754 Copybara makes me wish I were dead 2020-02-11 18:13:13 -08:00
Richard Belleville d46cd97bc6 Merge remote-tracking branch 'origin/master' into simple_stubs 2020-02-11 17:53:56 -08:00
Richard Belleville 6eddf397e9 Reviewer advice 2020-02-11 17:44:56 -08:00
Richard Belleville 485e87cadf Move tests into single directory because Blaze is the worst 2020-02-11 17:41:09 -08:00
Lidi Zheng 3061ee37c0 Remove unused import 2020-02-11 16:46:48 -08:00
Lidi Zheng fbd213d04b Make client-side graceful shutdown faster 2020-02-11 16:46:23 -08:00
Esun Kim 0b26a2ff56 Added abseil-based sync 2020-02-11 14:44:25 -08:00
Richard Belleville df247fb33a Experimental API decorator 2020-02-10 16:47:43 -08:00
Richard Belleville 7c581ab099 Revert "Stop emitting experimental warnings"
This reverts commit 3daa32de4e.
2020-02-10 14:57:30 -08:00
Richard Belleville ff3088979a Why you incomplete, Python 3.6? 2020-02-10 14:53:33 -08:00
Richard Belleville 67a492c946 Yapf 2020-02-10 13:47:25 -08:00
Richard Belleville 753ab16ebb Remove unused return value 2020-02-10 13:43:22 -08:00
Richard Belleville 5474a76044 Pull out constant 2020-02-10 13:41:22 -08:00
Richard Belleville 0668c73cd2 Add copyright header 2020-02-10 13:40:21 -08:00
Richard Belleville 3daa32de4e Stop emitting experimental warnings 2020-02-10 13:39:43 -08:00
Richard Belleville e7e41e7610 Change up ordering 2020-02-10 13:37:43 -08:00
Richard Belleville 6e7f9f2ebe Add typing 2020-02-10 13:34:10 -08:00
Richard Belleville 70d3765712 Use debug level logging 2020-02-10 13:19:08 -08:00
Richard Belleville 09774aebfb Put libraries in order of reference 2020-02-10 13:18:18 -08:00
Richard Belleville 70837b3351 Don't attempt to run under setuptools 2020-02-10 12:44:08 -08:00
Richard Belleville 270880f440 Yapf 2020-02-10 11:56:38 -08:00
Lidi Zheng dc0509186c
Merge pull request #21921 from lidizheng/aio-fix-close-2
[Aio] Another fix for close mechanism on Windows
2020-02-10 11:46:59 -08:00
Richard Belleville 94efe57fb0 Buildifier 2020-02-10 11:37:55 -08:00
Richard Belleville 78c9ce56e5 Remove unguarded import of simple_stubs 2020-02-10 11:36:33 -08:00
Mark D. Roth bc9cc67fa6
Merge pull request #21857 from markdroth/json_old_api_remove
Remove old JSON API
2020-02-10 07:30:52 -08:00
Richard Belleville 36aa768290 Correct tests.json 2020-02-07 18:03:26 -08:00
Richard Belleville e5b287ead8 Yapf. Pylint 2020-02-07 16:51:25 -08:00
Richard Belleville ac864c7502 Make APIs experimental 2020-02-07 16:42:38 -08:00
Richard Belleville 84c8dc739e Add insecure_channel_credentials function 2020-02-07 15:59:24 -08:00
Richard Belleville a2e4a23fc0
Merge pull request #20783 from Yannic/proto_incompat
[bazel] Add fixes for --incompatible_load_proto_rules_from_bzl
2020-02-07 15:46:38 -08:00
Lidi Zheng 8701b18efb Use str instead of Text 2020-02-07 10:40:26 -08:00
Richard Belleville aadcded305 Add docstrings 2020-02-06 16:56:01 -08:00
Richard Belleville 1abe2f0ac2 Add stream_stream 2020-02-06 16:37:39 -08:00
Richard Belleville 38bef98463 Add stream-unary 2020-02-06 16:27:21 -08:00
Richard Belleville b5f06c216e Implement unary_stream 2020-02-06 16:10:25 -08:00
Richard Belleville 4ac50ceed6 Add maximum-based channel eviction 2020-02-06 15:59:01 -08:00
Lidi Zheng 5cf41f3424 Revert the changes in _channel.py 2020-02-06 15:31:30 -08:00
Lidi Zheng 33014035eb Skip the test_invalid_metadata on Windows for now 2020-02-06 15:26:52 -08:00
Lidi Zheng c7095d6854 Make a proper shallow copy of onging calls set 2020-02-06 14:40:32 -08:00
Lidi Zheng 15ff162fe3 Improve the documentation about newly added exception classes 2020-02-06 14:21:43 -08:00
Lidi Zheng 22cd31b0ec Remove TODO 2020-02-06 14:21:42 -08:00
Lidi Zheng ecf44b094b Prohibit mixing two styles of API on client side 2020-02-06 14:21:42 -08:00
Richard Belleville 20f85c1d60 Don't run test under Python 2 2020-02-06 14:12:38 -08:00
Lidi Zheng 072c150e77
Merge pull request #21885 from lidizheng/aio-channel-ready
[Aio] Add channel_ready helper function
2020-02-06 12:35:37 -08:00
Lidi Zheng 231d4b22a1
Merge pull request #21919 from Skyscanner/set-error-description
[Aio] Set debug_error_string to AioRpcError
2020-02-06 12:01:01 -08:00
Lidi Zheng be85024b34
Merge pull request #21809 from lidizheng/aio-compression
[Aio] Support compression for both client and server
2020-02-06 10:04:42 -08:00
Mariano Anaya 1df63bf35b Get the debug_error_string in a simpler fashion
* Use the public method in ``AioRpcStatus``
* Keep everything encapsulated inside the function that creates the
error.
2020-02-06 09:19:16 +01:00
Lidi Zheng 473a75b47e Reduce side effect of a "create" method 2020-02-05 15:02:21 -08:00
Yannic Bonenberger 06ecc87290 [bazel] Add fixes for --incompatible_load_proto_rules_from_bzl 2020-02-05 19:58:30 +01:00
Mariano Anaya 583712704a [Aio] Set debug_error_string to AioRpcError
When handling errors in aio, also set the ``debug_error_string``, to get
more information (when available), about the exception, and help debug.
2020-02-05 16:49:08 +01:00
Richard Belleville 741b407ac4 Add simple eviction mechanism 2020-02-04 18:34:55 -08:00
Mark D. Roth 01e87e2d93 Remove old JSON API 2020-02-04 15:21:27 -08:00
Lidi Zheng c564d28f9a
Merge pull request #21903 from lidizheng/aio-fix-close
[Aio] Attempt to fix recent AsyncIO windows flake
2020-02-04 14:57:47 -08:00
Yash Tibrewal c3bcb6c7ce
Merge pull request #21846 from yashykt/workserializer
Replace LogicalThread with WorkSerializer
2020-02-04 14:23:28 -08:00
Richard Belleville 5a8a6e3ad3 Add thread-safe channel cache. Test that it actually caches 2020-02-04 12:34:34 -08:00
Lidi Zheng b378b66f8c [Aio] Attempt to fix recent AsyncIO windows flake 2020-02-04 11:03:03 -08:00
Lidi Zheng daeaf8eff4 Promote the channel_ready & simplify test logic 2020-02-04 10:26:57 -08:00
Lidi Zheng 0919f939b4 Improve compression docstring & simplify metadata default value 2020-02-04 10:10:46 -08:00
Jan Tattermusch 21512217f2 get rid of the https://grpc.io/release plague 2020-02-04 15:01:03 +01:00
Richard Belleville 0c4af58acc Add test and fake LRU cache interface 2020-02-03 18:30:00 -08:00
Lidi Zheng a5503cc64a Add unit test for channel ready 2020-02-03 16:46:48 -08:00
Lidi Zheng 6a330edf74 Add channel_ready helper function 2020-02-03 16:44:19 -08:00
Lidi Zheng d190a0e08c Make YAPF happy 2020-02-03 15:59:51 -08:00
Lidi Zheng eb1f21f651 Improve readability of unit tests & add one more test case 2020-02-03 15:57:22 -08:00
Lidi Zheng cd76b79e7f Support compression for both client and server 2020-02-03 15:57:22 -08:00
Lidi Zheng ffb41a2368
Merge pull request #21819 from Skyscanner/close_ongoing_calls
[Aio] Close ongoing calls when the channel is closed
2020-02-03 14:55:16 -08:00
Lidi Zheng f20bf08d17
Merge pull request #21855 from lidizheng/aio-auto-creds
[Aio] Fix the server credentials & improve socket implementation
2020-02-03 13:51:21 -08:00
Pau Freixes 5cd4e133bf Increase timeout in some tests 2020-02-03 21:52:02 +01:00
Pau Freixes 84d2a70741 Merge branch 'master' into close_ongoing_calls 2020-02-03 17:13:01 +01:00
Pau Freixes 2d89ef0acd Fix pylint issue 2020-02-03 17:07:20 +01:00
Pau Freixes 3a8be1784c make YAPF happy 2020-02-03 17:06:05 +01:00
Pau Freixes c94364f311 Use a weakset for storing ongoing calls 2020-02-03 17:04:54 +01:00
Pau Freixes 2cef2fce39 Use set as data structure for trace ongoing calls 2020-02-03 15:52:26 +01:00
Pau Freixes d0b218ae18 Once cancelled just destroy the channel 2020-02-03 15:29:41 +01:00
Mehrdad Afshari faf406d65b
Merge pull request #21865 from mehrdada/genericize-rpc_test
Check .code() before .cancelled() in Python RPC tests
2020-01-31 18:57:56 -08:00
Lidi Zheng 69c63cb33a
Merge pull request #21770 from lidizheng/aio-timeout
[Aio] Add tests for timeout mechanism on the client-side
2020-01-31 15:21:58 -08:00
Mehrdad Afshari 9bdd529077 Check .code() before .cancelled() in Python RPC tests
Call object's `.cancelled()` is not guaranteed to immediately return
True per spec even if `cancel()` is called. `.code()` ensures that
the RPC is terminated before we check for `.cancelled()` to ensure
our test is not stricter than necessary (a conforming implementation
should be allowed to return `False` on `cancelled()` for a bit due
to a race or something.  This change makes the test more generically
applicable to other implementations.
2020-01-31 15:20:54 -08:00
Lidi Zheng 892fdf85d6 Add SecureLocalInteropTest to tests.json 2020-01-31 15:17:52 -08:00
Lidi Zheng 47246c86bb Fix the server credentials & improve socket implementation 2020-01-31 15:17:52 -08:00
Lidi Zheng 343e77ab9e
Merge pull request #21714 from lidizheng/aio-auto
[Aio] Introduce gRPC Async into our interop combo
2020-01-31 15:15:51 -08:00
Lidi Zheng fb849fbda7
Merge pull request #21863 from lidizheng/flake-channel-argument
[Aio] Deflake the channel_argument_test & improve socket error handling
2020-01-31 14:16:04 -08:00
Lidi Zheng 788d14cb1f Enable more local interop test cases and other fixes:
* Support echo status and metadata for interop test server
* Add set_code and set_details for ServicerContext
* Add an is_ok() method on cygrpc._AioCall object
* Sanitize user supplied status code
* Prettify server-side unexpected exception log
* Reduce log spams from unary calls
2020-01-31 13:19:09 -08:00
Lidi Zheng 9b26b410fb Support echo status for interop test server 2020-01-31 13:19:09 -08:00
Lidi Zheng 4842e23e9c Make YAPF happy 2020-01-31 13:19:09 -08:00
Lidi Zheng 3e2d5da7a2 Use as much template as possible & fix some wording 2020-01-31 13:19:09 -08:00
Lidi Zheng acbc36b281 Remove the unused constant 2020-01-31 13:19:09 -08:00
Lidi Zheng 20a6edfe6e Restrict visibility & improve readability 2020-01-31 13:19:09 -08:00
Lidi Zheng dc202bdf1f Adding gRPC Python AsyncIO interop client and server 2020-01-31 13:19:09 -08:00
Lidi Zheng b62bc90cec Update tests.json 2020-01-31 13:16:10 -08:00
Lidi Zheng f3acd16a49 The initialization of connection might take longer than expected 2020-01-31 13:16:10 -08:00
Lidi Zheng f713be4f96 Fix the json 2020-01-31 13:16:10 -08:00
Lidi Zheng ece8422dd0 Simplify the generic handler 2020-01-31 13:16:10 -08:00
Lidi Zheng c3caab3b3e Make Python sanity test happy 2020-01-31 13:16:10 -08:00
Lidi Zheng fd8cf4ec07 Use f-string 2020-01-31 13:16:10 -08:00
Lidi Zheng 2750fa31bb Remove the evil debug line 2020-01-31 13:16:10 -08:00
Lidi Zheng 48a8072bc9 Add timeout tests 2020-01-31 13:16:10 -08:00
Lidi Zheng 41bc9b9910
Merge pull request #21803 from lidizheng/aio-wait
[Aio] Support wait-for-ready mechanism
2020-01-31 13:15:10 -08:00
Lidi Zheng 387c2c7d61 Further reduce the server number to 5 2020-01-31 13:09:26 -08:00
Lidi Zheng c926941447 Deflake the channel_argument_test & improve socket error handling 2020-01-31 12:54:14 -08:00
Lidi Zheng 27a7ec6b0d Make YAPF happy 2020-01-31 11:25:51 -08:00
Lidi Zheng 0de9a7b231 Fix typo 2020-01-31 10:42:51 -08:00
Jan Tattermusch b8aa71ded7
Merge pull request #21833 from jtattermusch/reintroduce_again_21527
Reintroduce #21527 (boringssl submodule unification - take two)
2020-01-31 16:57:22 +01:00
Yash Tibrewal 74309886bb Replace LogicalThread with WorkSerializer 2020-01-30 13:20:57 -08:00
Lidi Zheng a63f51b1ad Remove assertions & add a comment 2020-01-29 15:50:21 -08:00
Lidi Zheng 1b92dc0a7e Fix the windows failure 2020-01-29 15:41:59 -08:00
Lidi Zheng 4e4f1f40f1 Correct the tests.json 2020-01-29 15:41:59 -08:00
Lidi Zheng 82b185b268 Make sanity tests happy 2020-01-29 15:41:59 -08:00
Lidi Zheng 72d6642226 Support wait-for-ready mechanism
* Fixing a segfault & a deadlock along the way
* Patching another loophole in the error path
2020-01-29 15:41:59 -08:00
Pau Freixes 46804d8125 Add test for stream unary close channel, remove irrelevant code 2020-01-30 00:00:18 +01:00
Pau Freixes 2f81f3df82 Fix typo 2020-01-29 23:53:14 +01:00
Mark D. Roth 380eb750ec New JSON API 2020-01-29 14:52:19 -08:00
Pau Freixes a1eb58c6ff Fix pytype issue 2020-01-29 23:52:01 +01:00
Pau Freixes cc8bd8cfda Use Event for knowing if a callback was called or not 2020-01-29 23:23:51 +01:00
Pau Freixes 61177a2cd8 Make none graceful test explicit 2020-01-29 23:15:51 +01:00
Pau Freixes 5959b685e8 Remove unused imports, add pylint exceptions 2020-01-29 23:13:06 +01:00
Pau Freixes 90331211a6 Add graceful period for closing the channel
Separated the tests for testing how a channel is closed into another
test file.

Fixed a bug introduced into the interceptors code in the previous
commit.
2020-01-29 23:07:26 +01:00
Lidi Zheng deb472fa99
Merge pull request #21820 from lidizheng/fix-windows-compile
Fix the windows build failure
2020-01-29 09:54:15 -08:00
Jan Tattermusch f098606c4a Revert "Revert "Reintroduce #21527 (boringssl submodule unification)""
This reverts commit cca892022b.
2020-01-29 09:18:51 -05:00
Lidi Zheng e5ff58ed85 Make YAPF happy 2020-01-28 15:43:13 -08:00
Lidi Zheng 50ed111cde Pack the platform check into the compiler check function 2020-01-28 15:41:29 -08:00
Pau Freixes c2b3e00068 [Aio] Close ongoing calls when the channel is closed
When the channel is closed, either by calling explicitly the `close()`
method or by leaving an asyncrhonous channel context all ongoing RPCs will be
cancelled.
2020-01-28 23:16:58 +01:00
Lidi Zheng 09d121f65e Fix the windows build failure 2020-01-28 13:32:59 -08:00
hcaseyal cca892022b
Revert "Reintroduce #21527 (boringssl submodule unification)" 2020-01-27 13:46:10 -08:00
Richard Belleville cb125e969a
Merge pull request #21799 from benjaminp/credentials-daemon
Make credentials callback threads daemonic.
2020-01-27 12:57:46 -08:00
Lidi Zheng 2dcd83d68b
Merge pull request #21772 from lidizheng/aio-call-mixins-new
Adding mixin classes to make client-side implementation cleaner V2
2020-01-27 12:20:58 -08:00
Benjamin Peterson fb8b7fbcac Make credentials callback threads daemonic.
Similarly to #21786, we want to avoid holding up interpreter shutdown with internal threads.
2020-01-27 11:06:55 -08:00
Richard Belleville 8af2097a45
Merge pull request #21786 from benjaminp/deliver-daemon
Mark the delivery thread daemonic.
2020-01-27 10:54:40 -08:00
Lidi Zheng f8ec53ea42 Removing unused variables & rename variables 2020-01-27 10:04:08 -08:00
Jan Tattermusch e7e5d0198f Revert "Revert "Unify boringssl submodules and use non-developer boringssl cmake build""
This reverts commit fe2242e603.
2020-01-27 05:04:05 -05:00
Mark D. Roth ac7c1d20ed Add LDS/RDS into XdsClient 2020-01-24 08:05:02 -08:00
Benjamin Peterson 4ab5aaf142 Mark the delivery thread daemonic. 2020-01-23 16:33:47 -08:00
Lidi Zheng 0c142306be De-duplication for the call objects 2020-01-23 10:12:20 -08:00
Lidi Zheng 5109e05d06
Merge pull request #21708 from lidizheng/aio-fix
[Aio] Fixing a segfault in the shutdown path
2020-01-21 15:27:46 -08:00
Lidi Zheng c4c318dc54
Merge pull request #21696 from Skyscanner/move_status_initial_metadata_cython
Move status and initial metadata handling to Cython
2020-01-21 13:48:40 -08:00
Lidi Zheng 2ea49dbf9a Adding a space line 2020-01-21 11:37:41 -08:00
Lidi Zheng 29d42a4731
Merge pull request #21672 from lidizheng/one-logger
Clean-up loggers and imports in Cython
2020-01-21 11:29:40 -08:00
Lidi Zheng d803bc8e4e
Merge pull request #21712 from lidizheng/fix-import
[Aio] Fix a segfault in check connectivity state
2020-01-21 11:09:26 -08:00
Jan Tattermusch e886a9d0fd
Merge pull request #21723 from grpc/revert-21527-unify_boringssl_deps2
Revert "Unify boringssl submodules and use non-developer boringssl cmake build"
2020-01-21 19:23:18 +01:00
Pau Freixes 2dde566d39 Fix pylint issue 2020-01-21 15:19:33 +01:00
Pau Freixes 071da37fb9 Remove unused call attributes 2020-01-20 23:44:43 +01:00
Pau Freixes 90b04f2a45 Make YAPF happy 2020-01-20 23:37:29 +01:00
Pau Freixes 53c41de3e0 Refactorize Cython and Python call communications
Now the status and the initial metadata, as awaitable methods, are
provided by the Cython layer. Any time the Python layer, like the Call
object, needs to know the status of the initial metadata uses the new
methods published by the AioCall
2020-01-20 23:09:46 +01:00
Jan Tattermusch fe2242e603
Revert "Unify boringssl submodules and use non-developer boringssl cmake build" 2020-01-20 14:27:31 +01:00
Jan Tattermusch 3f3cf8b62a
Revert "grpclb stabilization" 2020-01-20 14:11:16 +01:00
Jan Tattermusch eba60d8dbe
Merge pull request #21527 from jtattermusch/unify_boringssl_deps2
Unify boringssl submodules and use non-developer boringssl cmake build
2020-01-20 07:52:42 +01:00
Lidi Zheng 225d37e84c Fix a segfault in check connectivity state 2020-01-17 17:14:30 -08:00
Lidi Zheng 80d7acff7c Fixing a segfault in the server shutdown path 2020-01-17 16:09:39 -08:00
Alexander Polcyn 1197454f5a Regenerate projects 2020-01-17 15:36:25 -08:00
Lidi Zheng b9083a9edb
Merge pull request #21681 from lidizheng/aio-callbacks
[Aio] Implement add_done_callback and time_remaining
2020-01-17 10:41:26 -08:00
apolcyn 232fa12972
Merge pull request #21590 from jtattermusch/protobuf_3_11_2
Update third_party/protobuf to v3.11.2
2020-01-16 14:15:12 -08:00
Lidi Zheng c1eab2e95f Remove the suppression 2020-01-16 12:15:12 -08:00
Lidi Zheng 0fc1d212aa Make sanity tests happy 2020-01-16 12:13:36 -08:00
Lidi Zheng 780bff32eb Fix the test case 2020-01-16 12:06:08 -08:00
Lidi Zheng 21670ed1a8 Add time remaining test case 2020-01-16 11:59:36 -08:00
Jan Tattermusch 325da0066d regenerate projects 2020-01-16 03:55:18 -05:00
Lidi Zheng 1c78ccd44e Implement add_done_callbacks and time_remaining 2020-01-15 18:07:45 -08:00
Lidi Zheng adab340647 Simplify call_test using mixin class 2020-01-15 18:07:27 -08:00
Lidi Zheng 6f6b0d09bd
Merge pull request #21643 from lidizheng/aio-reuseport
[Aio] Support SO_REUSEPORT channel option
2020-01-15 16:28:31 -08:00
Lidi Zheng af67aaf031
Merge pull request #21647 from lidizheng/aio-metadata
[Aio] Support metadata for unary calls
2020-01-15 16:27:00 -08:00
Esun Kim d4f191b647
Merge pull request #21677 from veblush/absl-update
Update absl to the lastest
2020-01-15 15:23:54 -08:00
Lidi Zheng 613f64f12e Support metadata for streaming RPCs 2020-01-15 14:18:09 -08:00
Esun Kim 9e15f78cf8 Update absl to the lastest 2020-01-15 13:39:51 -08:00
Lidi Zheng f912ddf7d4 Split the seen_metadata function & assign tuple() as default value 2020-01-15 12:11:54 -08:00
Lidi Zheng 181437bbd8 Add prepend_send_initial_metadata_op function 2020-01-15 11:50:51 -08:00
Lidi Zheng c6a97f125a Fix the breakage due to conflict 2020-01-15 11:30:58 -08:00
Lidi Zheng 435cf89108 Fix a bug that prevents metadata modification in interceptors 2020-01-15 11:28:27 -08:00
Lidi Zheng a3e950adbb Make tests.json happy 2020-01-15 11:28:27 -08:00
Lidi Zheng fb2b4ec82b Add two more invalid metadata test cases 2020-01-15 11:28:27 -08:00
Lidi Zheng ec2f394803 Resolve the conflict between PRs 2020-01-15 11:28:27 -08:00
Lidi Zheng a140a362ba Make sanity tests happy 2020-01-15 11:27:18 -08:00
Lidi Zheng bcf3a1f9e7 Add metadata test 2020-01-15 11:26:44 -08:00
Lidi Zheng f9397de161 Make test pass after the merge 2020-01-15 11:26:44 -08:00
Zhanghui Mao 6d556914d0 fix metadata 2020-01-15 11:26:19 -08:00
Zhanghui Mao 0b802e0404 implement metadata for aio unary call 2020-01-15 11:24:44 -08:00
Lidi Zheng 5a4a5a0088
Merge pull request #21517 from lidizheng/aio-streaming
[Aio] Client Streaming and Bi-di Streaming
2020-01-15 11:20:41 -08:00
Lidi Zheng cdade7c450 Clean-up loggers and imports in Cython 2020-01-15 11:04:58 -08:00
Jan Tattermusch 27cdec0041 buildifier format 2020-01-15 04:43:59 -05:00
Richard Belleville 69f990673f Conform to protobuf's usage of six 2020-01-15 04:43:59 -05:00
Lidi Zheng 4ec94d2d67 Implement stream-unary and stream-stream RPC
* Includes both client-side and server-side
* Adding many tests in multiple files
* Introduces EOF as stream terminator
* Fixing crashes from Core in many ways
2020-01-14 17:31:13 -08:00
Lidi Zheng 9c66db3d26 Disable the flaky _exit_test for Bazel 2020-01-14 16:47:55 -08:00
Lidi Zheng 385cd4b443
Merge pull request #21582 from lidizheng/aio-abort
[Aio] Abort mechanism for server side
2020-01-14 13:48:23 -08:00
Lidi Zheng 259be9e6b7 Compress the catch clauses 2020-01-14 12:12:07 -08:00
Lidi Zheng 1dc2679d6d Explicitly pointout KeyboardInterrupt and SystemExit can pass freely 2020-01-14 12:12:07 -08:00
Lidi Zheng 65ba1c9aab Remove unused function 2020-01-14 12:12:07 -08:00
Lidi Zheng 9bba7b7af5 Improve readability 2020-01-14 12:12:07 -08:00
Lidi Zheng 26367cecc2 Expose the AbortError to enable users to identify the exception 2020-01-14 12:12:07 -08:00
Lidi Zheng b721c6c096 Add abort test to tests.json 2020-01-14 12:04:17 -08:00
Lidi Zheng 8429fec1b5 Make pytype happy 2020-01-14 12:04:17 -08:00
Lidi Zheng cddd0a0419 Implement abort mechanism for server side 2020-01-14 12:04:17 -08:00
Lidi Zheng 2306e26130 Adding comments about socket options portability 2020-01-14 11:52:53 -08:00
Lidi Zheng 85c8ce2f2f Fix a bug in conflict resolution 2020-01-14 11:50:52 -08:00
Lidi Zheng 4a86bb16f5 Adding documentation to the new ref-count mechanism 2020-01-14 10:55:53 -08:00
Lidi Zheng 7520925814 Further simplify the ref-count management for CallbackWrapper 2020-01-14 10:55:53 -08:00
Lidi Zheng 3099856a6a Adopt reviews' suggestions:
* Created a separate file for test constants
* Guarded current behavior of watch_connectivity_state
* Applied the same SEGV protection to callback_common
2020-01-14 10:55:53 -08:00
Lidi Zheng 050b3989f0 Make pytype happy 2020-01-14 10:55:52 -08:00
Lidi Zheng 0afc05cef5 Fixing the docstring wording 2020-01-14 10:55:52 -08:00
Lidi Zheng f75ce34da7 Removing an empty line 2020-01-14 10:55:52 -08:00
Lidi Zheng 650ba93a61 Improve the surface API & rewrite the test 2020-01-14 10:55:52 -08:00
Lidi Zheng fa62339430 Make Sanity test happy 2020-01-14 10:55:26 -08:00
Lidi Zheng 5f0a70973e Implement connectivity state related APIs 2020-01-14 10:55:26 -08:00
Pau Freixes 8f51eb62d5 Make YAPF happy 2020-01-14 16:46:01 +01:00
Pau Freixes 299a9b38ae Skip time out test for windows environments 2020-01-14 16:21:33 +01:00
Mariano Anaya 35b7da75f1 Accept credentials in async unary_unary call
Create the asynchronous version of a secure channel, that accepts the
credentials.

    from grpc.experimental.aio import secure_channel
    channel = secure_channel(...)

Co-authored-by: Pau Freixes <pau.freixes@skyscanner.net>
2020-01-14 15:12:10 +01:00
Lidi Zheng bcd57dfb7d Support Windows 2020-01-13 13:41:53 -08:00
Lidi Zheng 6a70555290 Plumb through socket options from application to iomgr 2020-01-13 13:29:02 -08:00
Lidi Zheng b74476417d Make the socket creation function 2/3 agnostic 2020-01-13 11:47:59 -08:00
Lidi Zheng e479a78b7c Apply REUSEADDR and REUSEPORT at the same time 2020-01-13 11:38:30 -08:00
Lidi Zheng db5bd23e36 Remove the errno.ENOSR form unrecoverable error list 2020-01-13 11:38:30 -08:00
Lidi Zheng 055b3a7e6f Simply the check 2020-01-13 11:38:30 -08:00
Lidi Zheng ebd2c841e1 Check the errno instead of the message 2020-01-13 11:38:30 -08:00
Lidi Zheng 305defc7cb Reuse 'bound_socket' to improve the test case 2020-01-13 11:38:30 -08:00
Lidi Zheng d7698e7e1d Make the test v4/v6 agnostic & fix some typo 2020-01-13 11:38:30 -08:00
Lidi Zheng d1cf71ade5 Fix the format in Cython 2020-01-13 11:38:30 -08:00
Lidi Zheng cc19670bb9 Cosmetic changes 2020-01-13 11:38:30 -08:00
Lidi Zheng 3a6eaf7de7 Remove the hack 2020-01-13 11:38:30 -08:00
Lidi Zheng 8d81314fc8 Make YAPF happy 2020-01-13 11:38:30 -08:00
Lidi Zheng 387c9c0be3 Improve the credibility of the test 2020-01-13 11:38:30 -08:00
Lidi Zheng 96321ed57f Make sanity tests happy 2020-01-13 11:38:30 -08:00
Lidi Zheng 91df9493eb Support channel argument for both client-side and server-side 2020-01-13 11:37:42 -08:00
Lidi Zheng da6a29dd6d
Merge pull request #21455 from Skyscanner/client_unaryunary_interceptors_3
[Aio] Client Side Interceptor For Unary Calls
2020-01-13 11:11:04 -08:00
Pau Freixes 17928a43c0 Apply review feedback, increase timeout threshold 2020-01-11 15:31:05 +01:00
Mark D. Roth 7388c47c91
Merge pull request #20803 from markdroth/grpclb_stabilization
grpclb stabilization
2020-01-10 10:47:46 -08:00
Mark D. Roth 5b18402914 grpclb stabilization 2020-01-10 09:13:10 -08:00
Pau Freixes bb2c94f0e2 Fix random segfaults when gRPC call resources are released
Due to the GC work for breaking reference cycles the internal
attributes of the _AioCall object were cleared and initialized
with None in aims of releasing refcounts for breaking direct or
indirect references.

Once the clear was done, the deallocation of the _AioCall would
fail since the pointer to gRPC call was cast to an invalid object,
no longer was a GrcpWrapper object but a None object, returning a
NULL as a value for the attribute call.
2020-01-10 15:33:16 +01:00
Esun Kim 26adb49f5d
Merge pull request #21598 from longkb/remove_duplicated_words
Remove duplicated words
2020-01-09 16:20:31 -08:00
Pau Freixes aa473fa68a Make YAPF happy 2020-01-09 00:08:01 +01:00
Pau Freixes 69884f7d84 Remove unused loop parameter 2020-01-09 00:07:15 +01:00
Pau Freixes db54580f20 Make YAPF happy 2020-01-09 00:04:44 +01:00
Pau Freixes 2a342b22a7 Fixes bug with deadline 2020-01-09 00:03:42 +01:00
Pau Freixes 75c858bcef Change test name 2020-01-08 15:31:52 +01:00
Pau Freixes 5d664a5f5e Make YAPF happy 2020-01-07 23:38:26 +01:00
Pau Freixes 33765f5ee5 Not mask AioRpcError and CancelledError at interceptor level 2020-01-07 23:31:50 +01:00
Yihua Zhang 62005e4290 Merge remote-tracking branch 'upstream/master' into grpc_security_level_negotiation 2020-01-07 13:10:08 -08:00
Kim Bao Long 953f7c4429 Remove duplicated words
Although it is spelling mistakes, it might make an affects while reading.

Signed-off-by: Kim Bao Long <longkb@vn.fujitsu.com>
2020-01-07 09:35:09 +07:00
Pau Freixes a2667b80c3 make YAPF happy 2020-01-07 01:32:47 +01:00
Pau Freixes 833df2b6c8 Apply feedback 2020-01-07 00:55:59 +01:00
Pau Freixes 77df7f5f17 Client unary unary interceptor
Implements the unary unary interceptor for the client-side. Interceptors
can be now installed by passing them as a new parameter of the `Channel`
constructor or by giving them as part of the `insecure_channel`
function.

Interceptors are executed within an Asyncio task for making some work before
the RPC invocation, and after for accessing to the intercepted call that has
been invoked.
2020-01-07 00:39:54 +01:00