From 03e1bf107114861b7c8ad797ed69a08dd20e63a3 Mon Sep 17 00:00:00 2001 From: Lidi Zheng Date: Mon, 10 Feb 2020 11:06:51 -0800 Subject: [PATCH] Fix already cancelled RPC --- .../grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi | 5 +++++ tools/run_tests/performance/scenario_config.py | 14 ++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi index 74b249bdf8f..c21b50425a6 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/server.pyx.pxi @@ -333,6 +333,9 @@ async def _handle_unary_unary_rpc(object method_handler, object loop): # Receives request message cdef bytes request_raw = await _receive_message(rpc_state, loop) + if request_raw is None: + # The RPC was cancelled immediately after start on client side. + return # Deserializes the request message cdef object request_message = deserialize( @@ -364,6 +367,8 @@ async def _handle_unary_stream_rpc(object method_handler, object loop): # Receives request message cdef bytes request_raw = await _receive_message(rpc_state, loop) + if request_raw is None: + return # Deserializes the request message cdef object request_message = deserialize( diff --git a/tools/run_tests/performance/scenario_config.py b/tools/run_tests/performance/scenario_config.py index d03fa7a49ee..b7791afc4ce 100644 --- a/tools/run_tests/performance/scenario_config.py +++ b/tools/run_tests/performance/scenario_config.py @@ -836,8 +836,6 @@ class PythonAsyncIOLanguage: server_type='ASYNC_SERVER', outstanding=64, channels=1, - async_client_threads=0, - async_server_threads=0, unconstrained_client='async', categories=[SMOKETEST, SCALABLE]) @@ -848,8 +846,6 @@ class PythonAsyncIOLanguage: server_type='ASYNC_SERVER', outstanding=128, channels=1, - client_threads_per_cq=1, - server_threads_per_cq=1, async_client_threads=1, async_server_threads=1, unconstrained_client='async', @@ -860,6 +856,7 @@ class PythonAsyncIOLanguage: rpc_type='STREAMING', client_type='ASYNC_CLIENT', server_type='ASYNC_GENERIC_SERVER', + async_server_threads=1, use_generic_payload=True, categories=[SMOKETEST, SCALABLE]) @@ -867,19 +864,22 @@ class PythonAsyncIOLanguage: 'python_asyncio_protobuf_async_streaming_ping_pong', rpc_type='STREAMING', client_type='ASYNC_CLIENT', - server_type='ASYNC_SERVER') + server_type='ASYNC_SERVER', + async_server_threads=1) yield _ping_pong_scenario( 'python_asyncio_protobuf_async_unary_ping_pong', rpc_type='UNARY', client_type='ASYNC_CLIENT', - server_type='ASYNC_SERVER') + server_type='ASYNC_SERVER', + async_server_threads=1) yield _ping_pong_scenario( 'python_asyncio_protobuf_async_unary_ping_pong', rpc_type='UNARY', client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER', + async_server_threads=1, categories=[SMOKETEST, SCALABLE]) yield _ping_pong_scenario( @@ -887,7 +887,6 @@ class PythonAsyncIOLanguage: rpc_type='UNARY', client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER', - async_client_threads=1, unconstrained_client='async') yield _ping_pong_scenario( @@ -895,7 +894,6 @@ class PythonAsyncIOLanguage: rpc_type='STREAMING', client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER', - async_client_threads=1, unconstrained_client='async') yield _ping_pong_scenario(