Skip to content

Commit

Permalink
Update ClientOptionsIntegrationTests, RedisClusterSetupTest, AtMostOn…
Browse files Browse the repository at this point in the history
…eceTest
  • Loading branch information
thachlp committed Aug 9, 2024
1 parent db0f70c commit 6b172a4
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 16 deletions.
29 changes: 19 additions & 10 deletions src/test/java/io/lettuce/core/ClientOptionsIntegrationTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ void variousClientOptions() {
@Test
void requestQueueSize() {

client.setOptions(ClientOptions.builder().requestQueueSize(10).build());
client.setOptions(ClientOptions.builder().requestQueueSize(10)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

StatefulRedisConnection<String, String> connection = client.connect();
getConnectionWatchdog(connection).setListenOnChannelInactive(false);
Expand All @@ -115,7 +116,8 @@ void requestQueueSize() {
@Test
void requestQueueSizeAppliedForReconnect() {

client.setOptions(ClientOptions.builder().requestQueueSize(10).build());
client.setOptions(ClientOptions.builder().requestQueueSize(10)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

RedisAsyncCommands<String, String> connection = client.connect().async();
testHitRequestQueueLimit(connection);
Expand All @@ -127,7 +129,7 @@ void testHitRequestQueueLimitReconnectWithAuthCommand() {
WithPassword.run(client, () -> {

client.setOptions(ClientOptions.builder().protocolVersion(ProtocolVersion.RESP2).pingBeforeActivateConnection(false)
.requestQueueSize(10).build());
.requestQueueSize(10).timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

RedisAsyncCommands<String, String> connection = client.connect().async();
connection.auth(passwd);
Expand All @@ -142,7 +144,7 @@ void testHitRequestQueueLimitReconnectWithAuthUsernamePasswordCommand() {
WithPassword.run(client, () -> {

client.setOptions(ClientOptions.builder().protocolVersion(ProtocolVersion.RESP2).pingBeforeActivateConnection(false)
.requestQueueSize(10).build());
.requestQueueSize(10).timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

RedisAsyncCommands<String, String> connection = client.connect().async();
connection.auth(username, passwd);
Expand All @@ -154,7 +156,9 @@ void testHitRequestQueueLimitReconnectWithAuthUsernamePasswordCommand() {
void testHitRequestQueueLimitReconnectWithUriAuth() {

WithPassword.run(client, () -> {
client.setOptions(ClientOptions.builder().requestQueueSize(10).build());
client.setOptions(ClientOptions.builder().requestQueueSize(10)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
;

RedisURI redisURI = RedisURI.create(host, port);
redisURI.setPassword(passwd);
Expand All @@ -169,7 +173,8 @@ void testHitRequestQueueLimitReconnectWithUriAuthPingCommand() {

WithPassword.run(client, () -> {

client.setOptions(ClientOptions.builder().requestQueueSize(10).build());
client.setOptions(ClientOptions.builder().requestQueueSize(10)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

RedisURI redisURI = RedisURI.create(host, port);
redisURI.setPassword(passwd);
Expand Down Expand Up @@ -207,7 +212,8 @@ private void testHitRequestQueueLimit(RedisAsyncCommands<String, String> connect
@Test
void requestQueueSizeOvercommittedReconnect() {

client.setOptions(ClientOptions.builder().requestQueueSize(10).build());
client.setOptions(ClientOptions.builder().requestQueueSize(10)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

StatefulRedisConnection<String, String> connection = client.connect();
ConnectionWatchdog watchdog = getConnectionWatchdog(connection);
Expand Down Expand Up @@ -262,8 +268,8 @@ void disconnectedWithoutReconnect() {
@Test
void disconnectedRejectCommands() {

client.setOptions(
ClientOptions.builder().disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS).build());
client.setOptions(ClientOptions.builder().disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

RedisAsyncCommands<String, String> connection = client.connect().async();

Expand Down Expand Up @@ -471,7 +477,8 @@ void timeoutExpiresBatchedCommands() {

@Test
void pingBeforeConnectWithQueuedCommandsAndReconnect() throws Exception {

client.setOptions(
ClientOptions.builder().timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
StatefulRedisConnection<String, String> controlConnection = client.connect();

StatefulRedisConnection<String, String> redisConnection = client.connect(RedisURI.create("redis://localhost:6479/5"));
Expand Down Expand Up @@ -513,6 +520,8 @@ void authenticatedPingBeforeConnectWithQueuedCommandsAndReconnect() {
WithPassword.run(client, () -> {

RedisURI redisURI = RedisURI.Builder.redis(host, port).withPassword(passwd).withDatabase(5).build();
client.setOptions(
ClientOptions.builder().timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
StatefulRedisConnection<String, String> controlConnection = client.connect(redisURI);

StatefulRedisConnection<String, String> redisConnection = client.connect(redisURI);
Expand Down
15 changes: 10 additions & 5 deletions src/test/java/io/lettuce/core/cluster/RedisClusterSetupTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import java.util.function.Supplier;
import java.util.stream.Collectors;

import io.lettuce.core.TimeoutOptions;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
Expand Down Expand Up @@ -303,10 +304,12 @@ public void slotMigrationShouldUseAsking() {
public void disconnectedConnectionRejectTest() throws Exception {

clusterClient.setOptions(ClusterClientOptions.builder().topologyRefreshOptions(PERIODIC_REFRESH_ENABLED)
.disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS).build());
.disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
RedisAdvancedClusterAsyncCommands<String, String> clusterConnection = clusterClient.connect().async();
clusterClient.setOptions(ClusterClientOptions.builder()
.disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS).build());
clusterClient.setOptions(
ClusterClientOptions.builder().disconnectedBehavior(ClientOptions.DisconnectedBehavior.REJECT_COMMANDS)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
ClusterSetup.setup2Masters(clusterHelper);

assertRoutedExecution(clusterConnection);
Expand All @@ -330,9 +333,11 @@ public void disconnectedConnectionRejectTest() throws Exception {
@Test
public void atLeastOnceForgetNodeFailover() throws Exception {

clusterClient.setOptions(ClusterClientOptions.builder().topologyRefreshOptions(PERIODIC_REFRESH_ENABLED).build());
clusterClient.setOptions(ClusterClientOptions.builder().topologyRefreshOptions(PERIODIC_REFRESH_ENABLED)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
RedisAdvancedClusterAsyncCommands<String, String> clusterConnection = clusterClient.connect().async();
clusterClient.setOptions(ClusterClientOptions.create());
clusterClient.setOptions(
ClusterClientOptions.builder().timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());
ClusterSetup.setup2Masters(clusterHelper);

assertRoutedExecution(clusterConnection);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;

import io.lettuce.core.TimeoutOptions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

Expand Down Expand Up @@ -46,7 +47,8 @@ class AtMostOnceTest extends AbstractRedisClientTest {

@BeforeEach
void before() {
client.setOptions(ClientOptions.builder().autoReconnect(false).build());
client.setOptions(ClientOptions.builder().autoReconnect(false)
.timeoutOptions(TimeoutOptions.builder().timeoutCommands(false).build()).build());

// needs to be increased on slow systems...perhaps...
client.setDefaultTimeout(3, TimeUnit.SECONDS);
Expand Down

0 comments on commit 6b172a4

Please sign in to comment.