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.

Reply via email to