No matter server-side streaming RPC or bidirectional streaming RPC, if there is still message for Client to read, but Client callsgrpc::ClientStreamingInterface::Finish(), it will block here forever. The call stack is like this: #0 0x00007ffff5b24076 in epoll_pwait () from /usr/lib/libc.so.6 #1 0x00007ffff71c6ae5 in ?? () from /usr/lib/libgrpc.so.4 #2 0x00007ffff71e3a26 in ?? () from /usr/lib/libgrpc.so.4 #3 0x000055555558300f