diff --git a/RedLockNet.SERedis/RedLock.cs b/RedLockNet.SERedis/RedLock.cs index dbc5609..8e5ce38 100644 --- a/RedLockNet.SERedis/RedLock.cs +++ b/RedLockNet.SERedis/RedLock.cs @@ -559,7 +559,7 @@ private async Task UnlockInstanceAsync(RedisConnection cache) var host = GetHost(cache.ConnectionMultiplexer); var result = false; - + try { logger.LogTrace($"UnlockInstanceAsync enter {host}: {redisKey}, {LockId}"); @@ -589,13 +589,19 @@ internal static string GetHost(IConnectionMultiplexer cache) foreach (var endPoint in cache.GetEndPoints()) { - var server = cache.GetServer(endPoint); - - result.Append(server.EndPoint.GetFriendlyName()); - result.Append(" ("); - result.Append(server.IsSlave ? "slave" : "master"); - result.Append(server.IsConnected ? "" : ", disconnected"); - result.Append("), "); + try + { + var server = cache.GetServer(endPoint); + result.Append(server.EndPoint.GetFriendlyName()); + result.Append(" ("); + result.Append(server.IsSlave ? "slave" : "master"); + result.Append(server.IsConnected ? "" : ", disconnected"); + result.Append("), "); + } + catch (ArgumentException) + { + // swallow exception, the endpoint is not connected + } } if (result.Length >= 2) @@ -717,4 +723,4 @@ internal void StopKeepAliveTimer() } } } -} \ No newline at end of file +}