My networking skills are quite poor and I am trying to understand the following netstat -ton meaning.We have redis server and a client with a thread connecting to it via PUB/SUB. The client SUBSCRIBE to a Redis channel. This, I guess, creates a long lived TCP link between both and the server sends data to the client when something happens on the channel.However, from time to time (a month to three months) the client stops receiving anything, yet does not crash or raise any errors.In this state I see the following: A stalled Recv Q with ESTABLISHED off.I read around a little bit and it could be related to many things including TCP keep alive parameters?Any tips and ideas of how to debug such a state?Restarting the client solves everything.
Stalled TCP connection with data in RecvQ and ESTABLISHED off
networking;netstat;redis
It seems to me, that problem is within your client, because Recv-Q for established connections is the count of bytes not copied by the user program connected to this socket. It means, your application does not read data from socket.