DATAREDIS-881 - Allow configuration of Lettuce's quiet shutdown period.

LettuceClientConfigurationBuilder now allows configuration of the quiet shutdown period to improve shutdown time of the Netty EventLoop when using non-shared ClientResources.

Original pull request: #363.
This commit is contained in:
Yanming Zhou
2018-10-16 16:16:09 +08:00
committed by Mark Paluch
parent 148b1ae582
commit 8e8861cbcd
7 changed files with 76 additions and 4 deletions

View File

@@ -45,6 +45,7 @@ public 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));
}
@Test // DATAREDIS-574, DATAREDIS-576, DATAREDIS-667
@@ -62,6 +63,7 @@ public class LettuceClientConfigurationUnitTests {
.clientName("foo") //
.commandTimeout(Duration.ofMinutes(5)) //
.shutdownTimeout(Duration.ofHours(2)) //
.shutdownQuietPeriod(Duration.ofMinutes(5)) //
.build();
assertThat(configuration.isUseSsl()).isTrue();
@@ -72,6 +74,7 @@ public class LettuceClientConfigurationUnitTests {
assertThat(configuration.getClientName()).contains("foo");
assertThat(configuration.getCommandTimeout()).isEqualTo(Duration.ofMinutes(5));
assertThat(configuration.getShutdownTimeout()).isEqualTo(Duration.ofHours(2));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofMinutes(5));
}
@Test(expected = IllegalArgumentException.class) // DATAREDIS-576

View File

@@ -46,6 +46,7 @@ public 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));
}
@Test // DATAREDIS-667
@@ -64,6 +65,7 @@ public class LettucePoolingClientConfigurationUnitTests {
.clientResources(sharedClientResources) //
.commandTimeout(Duration.ofMinutes(5)) //
.shutdownTimeout(Duration.ofHours(2)) //
.shutdownQuietPeriod(Duration.ofMinutes(5)) //
.build();
assertThat(configuration.getPoolConfig()).isEqualTo(poolConfig);
@@ -74,5 +76,6 @@ public class LettucePoolingClientConfigurationUnitTests {
assertThat(configuration.getClientResources()).contains(sharedClientResources);
assertThat(configuration.getCommandTimeout()).isEqualTo(Duration.ofMinutes(5));
assertThat(configuration.getShutdownTimeout()).isEqualTo(Duration.ofHours(2));
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofMinutes(5));
}
}