Is there a maximum connection age set on the server (GRPC_ARG_MAX_CONNECTION_AGE_MS)? If so, make sure you have an adequate grace period set (GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS).
Otherwise, enable logging on both the server and the client to determine why the connection is being closed (which side initiated, etc). On Tuesday, January 26, 2021 at 7:29:15 PM UTC-8 [email protected] wrote: > Hey folks! I have an async C++ GRPC service that uses a completion queue > with two threads - one running the queue and the second that consumes the > tags from the queue. I have been doing reliability testing and found that > in about 6% cases the server ServerCompletionQueue.Next(tag, bool) returns > false for the read tag while the client is still actively sending data. The > server then closes the connection and goes on its merry way, while the > client is not aware of the connection closure and eventually times out > (non-grpc triggered timeout). > > I tried setting the GRPC_ARG_KEEPALIVE_TIME_MS to 1000 ms and > GRPC_ARG_KEEPALIVE_TIMEOUT_MS to 5000ms but it had no effect. I am honestly > a little at a loss what else to check for. What would you recommend to look > at or check to find the culprit? > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/e8342a37-d79e-46c0-a8d6-0183e89bc4b8n%40googlegroups.com.
