You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I ran into the following situation. When having connection issues, closing or disposing the ConnectionMutex can cause some in flight requests to not cancel or timeout.
We've discovered this, because we have some convoluted connection restoration logic in our microservices that tries to throw away the multiplexer if there are too many failed requests and sometimes this logic causes the service to become stuck, because redis calls do not return.
I have reduced the issue to this minimal example:
ConnectionMultiplexerredis= ConnectionMultiplexer.Connect("localhost");vardb= redis.GetDatabase();varresult= db.StringSetAndGetAsync("a","b",null, When.Always, CommandFlags.None);// Breakpoint here and stop the redis server, then resume the program
redis.Close();
Console.WriteLine(await result.ToString());// Hangs forever
I would expect the await to throw in this situation, not to hang.
The text was updated successfully, but these errors were encountered:
This looks very similar to something we're already investigating (and have a plan for), but I'll be sure to ensure we consider this example too, thanks.
Hi, I ran into the following situation. When having connection issues, closing or disposing the ConnectionMutex can cause some in flight requests to not cancel or timeout.
We've discovered this, because we have some convoluted connection restoration logic in our microservices that tries to throw away the multiplexer if there are too many failed requests and sometimes this logic causes the service to become stuck, because redis calls do not return.
I have reduced the issue to this minimal example:
I would expect the await to throw in this situation, not to hang.
The text was updated successfully, but these errors were encountered: