Open penguin138 opened 6 years ago
We need to properly detect underlying transport failures, and restart connection if there are any, but until then I added a small fix that enables SO_KEEPALIVE and sets TCP_KEEPINTVL and TCP_KEEPIDLE to smaller values, that should help cope with this issue.
When trying to call method of long running service, BrokenPipeError is raised due to the fact that connection that was used to send data was broken and wasn't restarted. For example, for the following service defined in
my_service.proto
:and the following python script
my_script.py
:we have the following traceback: