public void Does_retry_failed_commands() { //LogManager.LogFactory = new ConsoleLogFactory(debugEnabled: true); RedisStats.Reset(); var redisCtrl = new RedisClient(RedisConfig.DefaultHost); redisCtrl.FlushAll(); redisCtrl.SetClient("redisCtrl"); var redis = new RedisClient(RedisConfig.DefaultHost); redis.SetClient("redisRetry"); var clientInfo = redisCtrl.GetClientsInfo(); var redisId = clientInfo.First(m => m["name"] == "redisRetry")["id"]; Assert.That(redisId.Length, Is.GreaterThan(0)); Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(1)); redis.OnBeforeFlush = () => { redisCtrl.KillClients(withId: redisId); }; Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(2)); Assert.That(redis.Get <int>("retryCounter"), Is.EqualTo(2)); Assert.That(RedisStats.TotalRetryCount, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetrySuccess, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetryTimedout, Is.EqualTo(0)); }
public void Does_retry_failed_commands_auth() { // -> Redis must have "requirepass testpassword" in config var connstr = "testpassword@localhost"; RedisStats.Reset(); var redisCtrl = new RedisClient(connstr); //RedisConfig.DefaultHost redisCtrl.FlushAll(); redisCtrl.SetClient("redisCtrl"); var redis = new RedisClient(connstr); redis.SetClient("redisRetry"); var clientInfo = redisCtrl.GetClientsInfo(); var redisId = clientInfo.First(m => m["name"] == "redisRetry")["id"]; Assert.That(redisId.Length, Is.GreaterThan(0)); Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(1)); redis.OnBeforeFlush = () => { redisCtrl.KillClients(withId: redisId); }; Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(2)); Assert.That(redis.Get <int>("retryCounter"), Is.EqualTo(2)); Assert.That(RedisStats.TotalRetryCount, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetrySuccess, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetryTimedout, Is.EqualTo(0)); }
public void Does_retry_failed_commands_auth() { RedisStats.Reset(); var redisCtrl = new RedisClient(Config.MasterHost); redisCtrl.FlushAll(); redisCtrl.SetClient("redisCtrl"); var redis = new RedisClient(Config.MasterHost); redis.SetClient("redisRetry"); var clientInfo = redisCtrl.GetClientsInfo(); var redisId = clientInfo.First(m => m["name"] == "redisRetry")["id"]; Assert.That(redisId.Length, Is.GreaterThan(0)); Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(1)); redis.OnBeforeFlush = () => { redisCtrl.KillClients(withId: redisId); }; Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(2)); Assert.That(redis.Get <int>("retryCounter"), Is.EqualTo(2)); Assert.That(RedisStats.TotalRetryCount, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetrySuccess, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetryTimedout, Is.EqualTo(0)); }
public void Does_retry_failed_commands_with_SocketException() { RedisStats.Reset(); var redis = new RedisClient(Config.MasterHost); redis.FlushAll(); Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(1)); redis.OnBeforeFlush = () => { redis.OnBeforeFlush = null; throw new SocketException(); }; Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(2)); Assert.That(redis.Get <int>("retryCounter"), Is.EqualTo(2)); Assert.That(RedisStats.TotalRetryCount, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetrySuccess, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetryTimedout, Is.EqualTo(0)); }
public async Task Does_retry_failed_commands_with_SocketException() { RedisStats.Reset(); var redis = new RedisClient(RedisConfig.DefaultHost).ForAsyncOnly(); await redis.FlushAllAsync(); Assert.That(await redis.IncrementValueAsync("retryCounter"), Is.EqualTo(1)); ((RedisClient)redis).OnBeforeFlush = () => { ((RedisClient)redis).OnBeforeFlush = null; throw new SocketException(); }; Assert.That(await redis.IncrementValueAsync("retryCounter"), Is.EqualTo(2)); Assert.That(await redis.GetAsync <int>("retryCounter"), Is.EqualTo(3)); Assert.That(RedisStats.TotalRetryCount, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetrySuccess, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetryTimedout, Is.EqualTo(0)); }
public void Does_retry_failed_commands() { // warning: this test looks brittle; is often failing "Expected: 3 But was: 2" (on main branch); // LogManager.LogFactory = new ConsoleLogFactory(debugEnabled: true); // RedisConfig.EnableVerboseLogging = true; RedisStats.Reset(); var redisCtrl = new RedisClient(RedisConfig.DefaultHost); redisCtrl.FlushAll(); redisCtrl.SetClient("redisCtrl"); var redis = new RedisClient(RedisConfig.DefaultHost); redis.SetClient("redisRetry"); var clientInfo = redisCtrl.GetClientsInfo(); var redisId = clientInfo.First(m => m["name"] == "redisRetry")["id"]; Assert.That(redisId.Length, Is.GreaterThan(0)); Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(1)); redis.OnBeforeFlush = () => { redisCtrl.KillClients(withId: redisId); }; Assert.That(redis.IncrementValue("retryCounter"), Is.EqualTo(2)); Assert.That(redis.Get <int>("retryCounter"), Is.EqualTo(3)); Assert.That(RedisStats.TotalRetryCount, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetrySuccess, Is.EqualTo(1)); Assert.That(RedisStats.TotalRetryTimedout, Is.EqualTo(0)); }