Bypass circuit breakers, timeouts when clearing Redis instances before test runs

This commit is contained in:
Jon Chambers 2026-05-19 10:54:29 -04:00 committed by Jon Chambers
parent b09a9b8f39
commit 022f2b874d
2 changed files with 10 additions and 2 deletions

View File

@ -8,6 +8,7 @@ package org.whispersystems.textsecuregcm.redis;
import io.lettuce.core.FlushMode;
import io.lettuce.core.RedisClient;
import io.lettuce.core.RedisURI;
import io.lettuce.core.cluster.RedisClusterClient;
import io.lettuce.core.internal.HostAndPort;
import io.lettuce.core.resource.ClientResources;
import io.lettuce.core.resource.DnsResolvers;
@ -197,7 +198,10 @@ public class RedisClusterExtension implements BeforeAllCallback, BeforeEachCallb
timeout,
CIRCUIT_BREAKER_CONFIGURATION_NAME);
redisClusterClient.useCluster(connection -> connection.sync().flushall(FlushMode.SYNC));
// Bypass circuit breakers and configured timeouts for initial setup operations
try (final RedisClusterClient flushClusterClient = RedisClusterClient.create(redisClientResources, getRedisURIs())) {
flushClusterClient.connect().sync().flushall(FlushMode.SYNC);
}
}
@Override

View File

@ -8,6 +8,7 @@ package org.whispersystems.textsecuregcm.redis;
import com.redis.testcontainers.RedisContainer;
import io.github.resilience4j.circuitbreaker.CircuitBreaker;
import io.lettuce.core.FlushMode;
import io.lettuce.core.RedisClient;
import io.lettuce.core.RedisURI;
import io.lettuce.core.resource.ClientResources;
import java.time.Duration;
@ -67,7 +68,10 @@ public class RedisServerExtension implements BeforeAllCallback, BeforeEachCallba
Duration.ofSeconds(2),
CircuitBreaker.of("test", circuitBreakerConfig.toCircuitBreakerConfig()));
faultTolerantRedisClient.useConnection(connection -> connection.sync().flushall(FlushMode.SYNC));
// Bypass circuit breakers and configured timeouts for initial setup operations
try (final RedisClient flushClient = RedisClient.create(redisClientResources, getRedisURI())) {
flushClient.connect().sync().flushall(FlushMode.SYNC);
}
}
@Override