If the clients dies silently (without sending the TCP RST), the server side connection will stay until TCP user time out is triggered (order of tens of minutes depending on your kernel setup) in the current implementation unless you have a custom dialer to turn on TCP KeepAlive. We are working on a heart-beat mechanism to recycle the server connections in a timely fashion. It is WIP.
On Tuesday, January 10, 2017 at 2:52:01 AM UTC-8, [email protected] wrote: > > Hi, > > I have implemented a Go gRPC server for an app backend and see that client > connections and the corresponding goroutines are still running even if > clients (Android apps) have died. I'm not using methods that stream results > from server to client or otherwise. > > Is this the expected behaviour? > > And if so, is there some kind of way on the Go server code to iterate over > client connections and then identify the old idle ones and close them? > > Thanks! > -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/0115b6c8-61ce-49f4-be6e-1f8c6d7410ac%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
