mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-21 01:58:07 +01:00
Remove default/integral retries from Redis clients
This commit is contained in:
committed by
Jon Chambers
parent
32cf12e9af
commit
a8c6fa93e0
@@ -17,7 +17,6 @@ import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.Timeout;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
import org.whispersystems.textsecuregcm.configuration.CircuitBreakerConfiguration;
|
||||
import org.whispersystems.textsecuregcm.configuration.RetryConfiguration;
|
||||
|
||||
// ThreadMode.SEPARATE_THREAD protects against hangs in the remote Redis calls, as this mode allows the test code to be
|
||||
// preempted by the timeout check
|
||||
@@ -26,13 +25,6 @@ class FaultTolerantRedisClientTest {
|
||||
|
||||
private static final Duration TIMEOUT = Duration.ofMillis(50);
|
||||
|
||||
private static final RetryConfiguration RETRY_CONFIGURATION = new RetryConfiguration();
|
||||
|
||||
static {
|
||||
RETRY_CONFIGURATION.setMaxAttempts(1);
|
||||
RETRY_CONFIGURATION.setWaitDuration(50);
|
||||
}
|
||||
|
||||
@RegisterExtension
|
||||
static final RedisServerExtension REDIS_SERVER_EXTENSION = RedisServerExtension.builder().build();
|
||||
|
||||
@@ -44,8 +36,7 @@ class FaultTolerantRedisClientTest {
|
||||
|
||||
return new FaultTolerantRedisClient("test", clientResourcesBuilder,
|
||||
RedisServerExtension.getRedisURI(), TIMEOUT,
|
||||
Optional.ofNullable(circuitBreakerConfiguration).orElseGet(CircuitBreakerConfiguration::new),
|
||||
RETRY_CONFIGURATION);
|
||||
Optional.ofNullable(circuitBreakerConfiguration).orElseGet(CircuitBreakerConfiguration::new));
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
|
||||
@@ -61,7 +61,6 @@ import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.Timeout;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
import org.whispersystems.textsecuregcm.configuration.CircuitBreakerConfiguration;
|
||||
import org.whispersystems.textsecuregcm.configuration.RetryConfiguration;
|
||||
import org.whispersystems.textsecuregcm.util.Pair;
|
||||
import org.whispersystems.textsecuregcm.util.RedisClusterUtil;
|
||||
|
||||
@@ -72,16 +71,8 @@ class FaultTolerantRedisClusterClientTest {
|
||||
|
||||
private static final Duration TIMEOUT = Duration.ofMillis(200);
|
||||
|
||||
private static final RetryConfiguration RETRY_CONFIGURATION = new RetryConfiguration();
|
||||
|
||||
static {
|
||||
RETRY_CONFIGURATION.setMaxAttempts(1);
|
||||
RETRY_CONFIGURATION.setWaitDuration(50);
|
||||
}
|
||||
|
||||
@RegisterExtension
|
||||
static final RedisClusterExtension REDIS_CLUSTER_EXTENSION = RedisClusterExtension.builder()
|
||||
.retryConfiguration(RETRY_CONFIGURATION)
|
||||
.timeout(TIMEOUT)
|
||||
.build();
|
||||
|
||||
@@ -94,8 +85,7 @@ class FaultTolerantRedisClusterClientTest {
|
||||
return new FaultTolerantRedisClusterClient("test",
|
||||
clientResourcesBuilder.socketAddressResolver(REDIS_CLUSTER_EXTENSION.getSocketAddressResolver()),
|
||||
RedisClusterExtension.getRedisURIs(), TIMEOUT,
|
||||
Optional.ofNullable(circuitBreakerConfiguration).orElseGet(CircuitBreakerConfiguration::new),
|
||||
RETRY_CONFIGURATION);
|
||||
Optional.ofNullable(circuitBreakerConfiguration).orElseGet(CircuitBreakerConfiguration::new));
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
|
||||
@@ -30,7 +30,6 @@ import org.testcontainers.containers.ComposeContainer;
|
||||
import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.containers.wait.strategy.WaitStrategy;
|
||||
import org.whispersystems.textsecuregcm.configuration.CircuitBreakerConfiguration;
|
||||
import org.whispersystems.textsecuregcm.configuration.RetryConfiguration;
|
||||
import org.whispersystems.textsecuregcm.util.TestcontainersImages;
|
||||
|
||||
public class RedisClusterExtension implements BeforeAllCallback, BeforeEachCallback, AfterEachCallback, ExtensionContext.Store.CloseableResource {
|
||||
@@ -40,7 +39,6 @@ public class RedisClusterExtension implements BeforeAllCallback, BeforeEachCallb
|
||||
private static List<RedisURI> redisUris;
|
||||
|
||||
private final Duration timeout;
|
||||
private final RetryConfiguration retryConfiguration;
|
||||
|
||||
private ClientResources redisClientResources;
|
||||
private FaultTolerantRedisClusterClient redisClusterClient;
|
||||
@@ -79,9 +77,8 @@ public class RedisClusterExtension implements BeforeAllCallback, BeforeEachCallb
|
||||
- 'REDIS_CLUSTER_CREATOR=yes'
|
||||
""", TestcontainersImages.getRedisCluster());
|
||||
|
||||
public RedisClusterExtension(final Duration timeout, final RetryConfiguration retryConfiguration) {
|
||||
public RedisClusterExtension(final Duration timeout) {
|
||||
this.timeout = timeout;
|
||||
this.retryConfiguration = retryConfiguration;
|
||||
}
|
||||
|
||||
|
||||
@@ -191,8 +188,7 @@ public class RedisClusterExtension implements BeforeAllCallback, BeforeEachCallb
|
||||
redisClientResources.mutate(),
|
||||
getRedisURIs(),
|
||||
timeout,
|
||||
circuitBreakerConfig,
|
||||
retryConfiguration);
|
||||
circuitBreakerConfig);
|
||||
|
||||
redisClusterClient.useCluster(connection -> connection.sync().flushall(FlushMode.SYNC));
|
||||
}
|
||||
@@ -226,7 +222,6 @@ public class RedisClusterExtension implements BeforeAllCallback, BeforeEachCallb
|
||||
public static class Builder {
|
||||
|
||||
private Duration timeout = DEFAULT_TIMEOUT;
|
||||
private RetryConfiguration retryConfiguration = new RetryConfiguration();
|
||||
|
||||
private Builder() {
|
||||
}
|
||||
@@ -236,13 +231,8 @@ public class RedisClusterExtension implements BeforeAllCallback, BeforeEachCallb
|
||||
return this;
|
||||
}
|
||||
|
||||
Builder retryConfiguration(RetryConfiguration retryConfiguration) {
|
||||
this.retryConfiguration = retryConfiguration;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RedisClusterExtension build() {
|
||||
return new RedisClusterExtension(timeout, retryConfiguration);
|
||||
return new RedisClusterExtension(timeout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@ import org.junit.jupiter.api.extension.BeforeEachCallback;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
import org.testcontainers.utility.DockerImageName;
|
||||
import org.whispersystems.textsecuregcm.configuration.CircuitBreakerConfiguration;
|
||||
import org.whispersystems.textsecuregcm.configuration.RetryConfiguration;
|
||||
import org.whispersystems.textsecuregcm.util.TestcontainersImages;
|
||||
|
||||
public class RedisServerExtension implements BeforeAllCallback, BeforeEachCallback, AfterEachCallback, ExtensionContext.Store.CloseableResource {
|
||||
@@ -65,8 +64,7 @@ public class RedisServerExtension implements BeforeAllCallback, BeforeEachCallba
|
||||
redisClientResources.mutate(),
|
||||
getRedisURI(),
|
||||
Duration.ofSeconds(2),
|
||||
circuitBreakerConfig,
|
||||
new RetryConfiguration());
|
||||
circuitBreakerConfig);
|
||||
|
||||
faultTolerantRedisClient.useConnection(connection -> connection.sync().flushall(FlushMode.SYNC));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user