- 起 -
前些天接到一个 Oncall,来自 Lark 的胡同学反馈,用 gRPC 官方的 python 客户端请求 Kitex gRPC Server,有时收到的 response 为 None。
请求的代码大致如下:
stub = xx_grpc.XXXServiceStub(channel)
resp = stub.SomeMethod(req)
logger.info("resp = {}".format(resp))
如果请求失败,按 python 的尿性,这里应该 raise 一个 exception,返回个 None 算个啥?
胡同学补充说,从服务端的日志来看,请求是正常收到且处理了,并且通过增加两个环境变量再运行 client 端:
$ GRPC_TRACE=all GRPC_VERBOSITY=debug python3 test.py
可以看到 client 把 tcp 报文内容都 dump 出来了,虽然乱码很多,但是从一些文本中可以看到