5

I am using ServiceStack 5.0.2 and Redis 3.2.100 on Windows. I have got several nodes with active Pub/Sub Subscription and a few Pub's per second.

I noticed that if Redis Service restarts while there is no physical network connection (so one of the clients cannot connect to Redis Service), that client stops receiving any messages after network recovers. Let's call it a "zombie subscriber": it thinks that it is still operational, but never actually receives a message: client thinks it has a connection, the same connection on server is closed.

The problem is no exception is thrown in RedisSubscription.SubscribeToChannels, so I am not able to detect the issue in order to resubscribe.

I have also analyzed RedisPubSubServer and I think I have discovered a problem. In the described case RedisPubSubServer tries to restart (send stop command CTRL), but "zombie subscriber" does not receive it and no resubscription is made.

Developer Guy
  • 2,318
  • 6
  • 19
  • 37
ptarasov
  • 63
  • 4
  • This may also be caused by kubernets. When you roll out new instance of Redis in a docker container, all new incoming connections (PUB or CRUD) will be siliently transferred to the new instance. However an existing SUB connection may be easily lost on a new docker instance. – Excelan Apr 25 '18 at 11:17

0 Answers0