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 fbf94b1016
commit 96e46924bd
4 changed files with 9 additions and 10 deletions

View File

@@ -49,7 +49,7 @@ class DefaultLettuceClientConfiguration implements LettuceClientConfiguration {
DefaultLettuceClientConfiguration(boolean useSsl, boolean verifyPeer, 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.verifyPeer = verifyPeer;
@@ -61,7 +61,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

@@ -175,7 +175,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

@@ -37,12 +37,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.isStartTls()).isFalse();
@@ -55,7 +54,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
@@ -88,13 +87,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

@@ -38,7 +38,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();
@@ -55,7 +55,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