Default Lettuce shutdownQuietPeriod to zero.

Use a lower timeout for faster shutdown. Also, the quiet period is no longer configured through the shutdown timeout.

Closes #2945
This commit is contained in:
Mark Paluch
2024-08-08 15:48:48 +02:00
parent ba2c9bae90
commit 369b549b3c
4 changed files with 9 additions and 10 deletions

View File

@@ -51,7 +51,7 @@ class DefaultLettuceClientConfiguration implements LettuceClientConfiguration {
DefaultLettuceClientConfiguration(boolean useSsl, SslVerifyMode verifyMode, boolean startTls,
@Nullable ClientResources clientResources, @Nullable ClientOptions clientOptions, @Nullable String clientName,
@Nullable ReadFrom readFrom, @Nullable RedisCredentialsProviderFactory redisCredentialsProviderFactory,
Duration timeout, Duration shutdownTimeout, @Nullable Duration shutdownQuietPeriod) {
Duration timeout, Duration shutdownTimeout, Duration shutdownQuietPeriod) {
this.useSsl = useSsl;
this.verifyMode = verifyMode;
@@ -63,7 +63,7 @@ class DefaultLettuceClientConfiguration implements LettuceClientConfiguration {
this.redisCredentialsProviderFactory = Optional.ofNullable(redisCredentialsProviderFactory);
this.timeout = timeout;
this.shutdownTimeout = shutdownTimeout;
this.shutdownQuietPeriod = shutdownQuietPeriod != null ? shutdownQuietPeriod : shutdownTimeout;
this.shutdownQuietPeriod = shutdownQuietPeriod;
}
@Override

View File

@@ -185,7 +185,7 @@ public interface LettuceClientConfiguration {
@Nullable RedisCredentialsProviderFactory redisCredentialsProviderFactory;
Duration timeout = Duration.ofSeconds(RedisURI.DEFAULT_TIMEOUT);
Duration shutdownTimeout = Duration.ofMillis(100);
@Nullable Duration shutdownQuietPeriod;
Duration shutdownQuietPeriod = Duration.ZERO;
LettuceClientConfigurationBuilder() {}

View File

@@ -39,12 +39,11 @@ import org.springframework.data.redis.test.extension.LettuceTestClientResources;
*/
class LettuceClientConfigurationUnitTests {
@Test // DATAREDIS-574, DATAREDIS-576, DATAREDIS-667, DATAREDIS-918
@Test // DATAREDIS-574, DATAREDIS-576, DATAREDIS-667, DATAREDIS-918, GH-2945
void shouldCreateEmptyConfiguration() {
LettuceClientConfiguration configuration = LettuceClientConfiguration.defaultConfiguration();
assertThat(configuration.isUseSsl()).isFalse();
assertThat(configuration.isVerifyPeer()).isTrue();
assertThat(configuration.getVerifyMode().equals(SslVerifyMode.FULL));
@@ -58,7 +57,7 @@ class LettuceClientConfigurationUnitTests {
assertThat(configuration.getClientName()).isEmpty();
assertThat(configuration.getCommandTimeout()).isEqualTo(Duration.ofSeconds(60));
assertThat(configuration.getShutdownTimeout()).isEqualTo(Duration.ofMillis(100));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofMillis(100));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ZERO);
}
@Test // DATAREDIS-574, DATAREDIS-576, DATAREDIS-667
@@ -92,13 +91,13 @@ class LettuceClientConfigurationUnitTests {
}
@Test // DATAREDIS-881
void shutdownQuietPeriodShouldDefaultToTimeout() {
void shutdownQuietPeriodShouldDefaultInitialValue() {
LettuceClientConfiguration configuration = LettuceClientConfiguration.builder()
.shutdownTimeout(Duration.ofSeconds(42)).build();
assertThat(configuration.getShutdownTimeout()).isEqualTo(Duration.ofSeconds(42));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofSeconds(42));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ZERO);
}
@Test // DATAREDIS-576

View File

@@ -40,7 +40,7 @@ import org.springframework.data.redis.test.extension.LettuceTestClientResources;
*/
class LettucePoolingClientConfigurationUnitTests {
@Test // DATAREDIS-667, DATAREDIS-918
@Test // DATAREDIS-667, DATAREDIS-918, GH-2945
void shouldCreateEmptyConfiguration() {
LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.defaultConfiguration();
@@ -58,7 +58,7 @@ class LettucePoolingClientConfigurationUnitTests {
assertThat(configuration.getClientResources()).isEmpty();
assertThat(configuration.getCommandTimeout()).isEqualTo(Duration.ofSeconds(60));
assertThat(configuration.getShutdownTimeout()).isEqualTo(Duration.ofMillis(100));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofMillis(100));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ZERO);
}
@Test // DATAREDIS-667