StackExchange / StackExchange.Redis

General purpose redis client

Home Page:https://stackexchange.github.io/StackExchange.Redis/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SocketFailure on xx.redis.cache.windows.net:6380/Interactive, Idle/Faulted, last: GET, origin: ReadFromPipe, outstanding: 12, last-read: 22s ago

jejass opened this issue · comments

Client library: "StackExchange.Redis" Version="2.7.33"
Redis: Azure cache for Redis
Symptom:
SocketFailure on xx.redis.cache.windows.net:6380/Interactive, Idle/Faulted, last: GET, origin: ReadFromPipe, outstanding: 12, last-read: 22s ago, last-write: 1s ago, unanswered-write: 19s ago, keep-alive: 60s, state: ConnectedEstablished, mgr: 9 of 10 available, in: 0, last-heartbeat: 1s ago, last-mbeat: 0s ago, global: 0s ago, v: 2.7.33.41805 Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.. A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

This issue happens rarely and intermittently. from the #1100, it should be fixed 2.1.x. but the latest version is used and the issue still happen.

Any help would be greatly appreciated.

How rare and intermittent are we talking here? Azure Redis caches close client connections several times per month for routine maintenance including updates to cache components and Azure infrastructure. For more info see: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-failover

StackExchange.Redis will automatically recover connections after they're reset by the server, usually within a couple seconds. To help your application handle resets gracefully, we recommended building some resilience into it, for example with a command retry strategy like https://github.com/App-vNext/Polly. More suggestions for building resilience here: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-best-practices-connection