We are facing the above issue on a regular basis. We have managed to narrow the cause down to it happening when we have the timeout parameter set on the Redis server.
When this is set (to 600s), we periodically get this exception from any client that is connected to it. We presume that its caused by the client going to use a connection from the pool which has been closed by the server which then causes a socket send/receive exception.
The issue is that we do need this on as otherwise the redis server is getting slowly swamped with dead connections.
All our clients are running on linux containers.
Any suggestions to making this work?
Stack Trace Below:
"StackTraceString": [
" at ServiceStack.Redis.RedisNativeClient.SendReceive[T](Byte[][] cmdWithBinaryArgs, Func`1 fn, Action`1 completePipelineFn, Boolean sendWithoutRead) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack.Redis/src/ServiceStack.Redis/RedisNativeClient_Utils.cs:line 733
at ServiceStack.Redis.RedisClient.<>c__DisplayClass462_0`1.<Get>b__0(RedisClient r) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack.Redis/src/ServiceStack.Redis/RedisClient.ICacheClient.cs:line 49
at ServiceStack.Redis.RedisClient.Exec[T](Func`2 action) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack.Redis/src/ServiceStack.Redis/RedisClient.ICacheClient.cs:line 31