dashjay opened a new issue, #2676: URL: https://github.com/apache/brpc/issues/2676
**Describe the bug (描述bug)** When server response a big value(more than 4096K), client will get error or hanging. **To Reproduce (复现方法)** I edited the example echo client/server, client send 8M message to server and receive response result success. https://github.com/dashjay/brpc/commit/923555a205288ebe1e0c251a4e83506e2f7a1bb4 Then when I generated a python grpc client and write a small case ``` from math import exp import grpc import echo_pb2 import echo_pb2_grpc import random import time import string keySize = 4096 size = keySize * 1024 v_large = ''.join(random.choices(string.ascii_lowercase, k=size)) bv_large = str.encode(v_large) options = [ ('grpc.max_receive_message_length', 83804160), ('grpc.max_send_message_length', 83804160), ] channel = grpc.insecure_channel('0.0.0.0:8000', []) client = echo_pb2_grpc.EchoServiceStub(channel) req = echo_pb2.EchoRequest(message = bv_large) def send(): resp = client.Echo(req, timeout=10) print(len(resp.message)) if __name__ == '__main__': while True: try: send() except KeyboardInterrupt as e: break ``` server run normally: ``` I0703 12:02:46.774291 5379 755914244353 server.cpp:60] Received request[log_id=0] from 127.0.0.1:53151 to 127.0.0.1:8000: length(4194304) (attached=) I0703 12:02:46.787413 5379 755914244353 server.cpp:89] req: length(4194318) res: length(4194318) ``` but grpc python client: ``` bytedance@FY2MY2TWDK ~/D/c/b/e/echo_c++ (issue/server-no-buffer-for-grpc-client)> /Users/bytedance/.pyenv/versions/3.10.13/bin/python3 python_client.py Traceback (most recent call last): File "/codes/brpc/example/echo_c++/python_client.py", line 31, in <module> send() File "/codes/brpc/example/echo_c++/python_client.py", line 24, in send resp = client.Echo(req, timeout=10) File "/usr/lib/python3.10/site-packages/grpc/_channel.py", line 1181, in __call__ return _end_unary_response_blocking(state, call, False, None) File "/usr/python3.10/site-packages/grpc/_channel.py", line 1006, in _end_unary_response_blocking raise _InactiveRpcError(state) # pytype: disable=not-instantiable grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with: status = StatusCode.INTERNAL details = "Received RST_STREAM with error code 3" debug_error_string = "UNKNOWN:Error received from peer {created_time:"2024-07-03T12:02:46.789109+08:00", grpc_status:13, grpc_message:"Received RST_STREAM with error code 3"}" > ``` **Expected behavior (期望行为)** Get the echo value. I found on web and get this https://groups.google.com/g/grpc-io/c/3h-Q5Vjq5aU ,I suspect this has something to do with it **Versions (各种版本)** OS: Darwin FY2MY2TWDK 23.3.0 Darwin Kernel Version 23.3.0 Compiler: `Apple clang version 15.0.0 (clang-1500.3.9.4)` brpc: `master` protobuf: ` protobuf: stable 27.1 (bottled)` **Additional context/screenshots (更多上下文/截图)** BRPC server interact with BRPC client good <img width="1670" alt="截屏2024-07-03 12 10 52" src="https://github.com/apache/brpc/assets/45532257/72a6ed42-c22b-4cb9-8b72-7c0c5ee5c790"> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org For additional commands, e-mail: dev-h...@brpc.apache.org