You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by je...@apache.org on 2022/02/17 22:19:38 UTC
[geode] branch develop updated: GEODE-9998: Upgrade Jedis client from 3.6.3 to 4.1.1 (#7340)
This is an automated email from the ASF dual-hosted git repository.
jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 9305169 GEODE-9998: Upgrade Jedis client from 3.6.3 to 4.1.1 (#7340)
9305169 is described below
commit 93051691eb5bda1277e901d04c554aa95419f9df
Author: Eric Zoerner <zo...@vmware.com>
AuthorDate: Thu Feb 17 14:18:02 2022 -0800
GEODE-9998: Upgrade Jedis client from 3.6.3 to 4.1.1 (#7340)
---
.../src/test/resources/expected-pom.xml | 2 +-
.../gradle/plugins/DependencyConstraints.groovy | 2 +-
.../apache/geode/redis/mocks/MockSubscriber.java | 23 +---
.../geode/redis/UserExpirationDUnitTest.java | 3 +-
.../key/AbstractRenameRedirectionsDUnitTest.java | 2 +-
.../commands/executor/key/RenameDUnitTest.java | 2 +-
.../sortedset/ZAddIncrOptionDUnitTest.java | 8 +-
.../commands/executor/sortedset/ZRemDUnitTest.java | 6 +-
.../sortedset/ZRemRangeByLexDUnitTest.java | 6 +-
.../sortedset/ZRemRangeByRankDUnitTest.java | 24 +++-
.../sortedset/ZRemRangeByScoreDUnitTest.java | 6 +-
.../auth/AuthWhileServersRestartDUnitTest.java | 7 +-
.../StringsKillMultipleServersDUnitTest.java | 9 +-
.../AbstractCommandPipeliningIntegrationTest.java | 14 ++-
.../cluster/AbstractClusterIntegrationTest.java | 4 +-
.../executor/cluster/ClusterIntegrationTest.java | 2 +-
.../connection/AbstractEchoIntegrationTest.java | 8 +-
.../hash/AbstractHScanIntegrationTest.java | 16 +--
.../hash/AbstractHashesIntegrationTest.java | 2 +-
.../key/AbstractExistsIntegrationTest.java | 6 +-
.../key/AbstractExpireIntegrationTest.java | 3 +-
.../key/AbstractPersistIntegrationTest.java | 3 +-
.../executor/key/AbstractScanIntegrationTest.java | 4 +-
.../commands/executor/key/ScanIntegrationTest.java | 4 +-
.../pubsub/AbstractSubCommandsIntegrationTest.java | 64 +++++------
.../AbstractSubscriptionsIntegrationTest.java | 6 +-
.../server/AbstractHitsMissesIntegrationTest.java | 4 +-
.../server/AbstractInfoIntegrationTest.java | 2 +-
.../server/AbstractSlowlogIntegrationTest.java | 2 +-
.../executor/server/ShutdownIntegrationTest.java | 12 +-
.../executor/set/AbstractSScanIntegrationTest.java | 12 +-
.../AbstractZInterStoreIntegrationTest.java | 123 +++++++++++----------
.../sortedset/AbstractZPopMaxIntegrationTest.java | 2 +-
.../sortedset/AbstractZPopMinIntegrationTest.java | 2 +-
.../AbstractZRangeByScoreIntegrationTest.java | 2 +-
.../sortedset/AbstractZRangeIntegrationTest.java | 6 +-
.../AbstractZRevRangeByScoreIntegrationTest.java | 8 +-
.../AbstractZRevRangeIntegrationTest.java | 7 +-
.../sortedset/AbstractZScanIntegrationTest.java | 14 +--
.../AbstractZUnionStoreIntegrationTest.java | 75 ++++++-------
.../string/AbstractBitOpIntegrationTest.java | 2 +-
.../string/AbstractBitPosIntegrationTest.java | 2 +-
42 files changed, 254 insertions(+), 257 deletions(-)
diff --git a/boms/geode-all-bom/src/test/resources/expected-pom.xml b/boms/geode-all-bom/src/test/resources/expected-pom.xml
index 927e660..09bd9b3 100644
--- a/boms/geode-all-bom/src/test/resources/expected-pom.xml
+++ b/boms/geode-all-bom/src/test/resources/expected-pom.xml
@@ -460,7 +460,7 @@
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
- <version>3.6.3</version>
+ <version>4.1.1</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
diff --git a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy b/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
index 2633533..9041707 100644
--- a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
+++ b/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
@@ -172,7 +172,7 @@ class DependencyConstraints implements Plugin<Project> {
api(group: 'org.springframework.shell', name: 'spring-shell', version: get('springshell.version'))
api(group: 'org.testcontainers', name: 'testcontainers', version: '1.15.3')
api(group: 'pl.pragmatists', name: 'JUnitParams', version: '1.1.0')
- api(group: 'redis.clients', name: 'jedis', version: '3.6.3')
+ api(group: 'redis.clients', name: 'jedis', version: '4.1.1')
api(group: 'xerces', name: 'xercesImpl', version: '2.12.0')
api(group: 'xml-apis', name: 'xml-apis', version: '1.4.01')
api(group: 'org.junit-pioneer', name: 'junit-pioneer', version: '1.5.0')
diff --git a/geode-for-redis/src/commonTest/java/org/apache/geode/redis/mocks/MockSubscriber.java b/geode-for-redis/src/commonTest/java/org/apache/geode/redis/mocks/MockSubscriber.java
index e0549e9..bdd2592 100644
--- a/geode-for-redis/src/commonTest/java/org/apache/geode/redis/mocks/MockSubscriber.java
+++ b/geode-for-redis/src/commonTest/java/org/apache/geode/redis/mocks/MockSubscriber.java
@@ -24,9 +24,7 @@ import java.util.Objects;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import redis.clients.jedis.Client;
import redis.clients.jedis.JedisPubSub;
-import redis.clients.jedis.exceptions.JedisConnectionException;
public class MockSubscriber extends JedisPubSub {
@@ -45,8 +43,6 @@ public class MockSubscriber extends JedisPubSub {
Collections.synchronizedList(new ArrayList<>());
private CountDownLatch messageReceivedLatch = new CountDownLatch(0);
private CountDownLatch pMessageReceivedLatch = new CountDownLatch(0);
- private String localSocketAddress;
- private Client client;
public MockSubscriber() {
this(new CountDownLatch(1));
@@ -65,13 +61,6 @@ public class MockSubscriber extends JedisPubSub {
this.pUnsubscriptionLatch = pUnsubscriptionLatch;
}
- @Override
- public void proceed(Client client, String... channels) {
- localSocketAddress = client.getSocket().getLocalSocketAddress().toString();
- this.client = client;
- super.proceed(client, channels);
- }
-
private void switchThreadName(String suffix) {
String threadName = Thread.currentThread().getName();
int suffixIndex = threadName.indexOf(" -- ");
@@ -79,7 +68,7 @@ public class MockSubscriber extends JedisPubSub {
threadName = threadName.substring(0, suffixIndex);
}
- threadName += " -- " + suffix + " [" + localSocketAddress + "]";
+ threadName += " -- " + suffix;
Thread.currentThread().setName(threadName);
}
@@ -133,16 +122,6 @@ public class MockSubscriber extends JedisPubSub {
receivedPings.add(pattern);
}
- // JedisPubSub ping with message is not currently possible, will submit a PR
- // (https://github.com/xetorthio/jedis/issues/2049)
- public void ping(String message) {
- if (client == null) {
- throw new JedisConnectionException("JedisPubSub is not subscribed to a Jedis instance.");
- } else {
- client.ping(message);
- }
- }
-
private static final int AWAIT_TIMEOUT_MILLIS = 30000;
public void awaitSubscribe(String channel) {
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/UserExpirationDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/UserExpirationDUnitTest.java
index 2bb28a8..f749018 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/UserExpirationDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/UserExpirationDUnitTest.java
@@ -26,7 +26,6 @@ import org.junit.After;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
-import redis.clients.jedis.BinaryJedisCluster;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
@@ -64,7 +63,7 @@ public class UserExpirationDUnitTest {
jedis = new JedisCluster(new HostAndPort(BIND_ADDRESS, redisPort),
REDIS_CLIENT_TIMEOUT,
REDIS_CLIENT_TIMEOUT,
- BinaryJedisCluster.DEFAULT_MAX_ATTEMPTS,
+ JedisCluster.DEFAULT_MAX_ATTEMPTS,
USER, USER, "test-client",
new GenericObjectPoolConfig<>());
}
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractRenameRedirectionsDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractRenameRedirectionsDUnitTest.java
index 64ad65f..7abbea9 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractRenameRedirectionsDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractRenameRedirectionsDUnitTest.java
@@ -69,7 +69,7 @@ public abstract class AbstractRenameRedirectionsDUnitTest implements RedisIntegr
private String getKeyOnDifferentServerAs(String antiKey, String prefix) {
ClusterNodes clusterNodes;
- try (Jedis j = jedis.getConnectionFromSlot(0)) {
+ try (final Jedis j = new Jedis(jedis.getConnectionFromSlot(0))) {
clusterNodes = ClusterNodes.parseClusterNodes(j.clusterNodes());
}
int antiSlot = JedisClusterCRC16.getCRC16(antiKey) % RegionProvider.REDIS_SLOTS;
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java
index 02dba47..6af44c6 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/key/RenameDUnitTest.java
@@ -89,7 +89,7 @@ public class RenameDUnitTest {
int redisServerPort1 = clusterStartUp.getRedisPort(1);
jedisCluster =
- new JedisCluster(new HostAndPort(BIND_ADDRESS, redisServerPort1), REDIS_CLIENT_TIMEOUT);
+ new JedisCluster(new HostAndPort(BIND_ADDRESS, redisServerPort1), REDIS_CLIENT_TIMEOUT, 20);
}
@Before
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZAddIncrOptionDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZAddIncrOptionDUnitTest.java
index 1f2180a..776c108 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZAddIncrOptionDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZAddIncrOptionDUnitTest.java
@@ -18,7 +18,7 @@ package org.apache.geode.redis.internal.commands.executor.sortedset;
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
import static org.assertj.core.api.Assertions.assertThat;
-import static redis.clients.jedis.BinaryJedisCluster.DEFAULT_MAX_ATTEMPTS;
+import static redis.clients.jedis.JedisCluster.DEFAULT_MAX_ATTEMPTS;
import java.util.ArrayList;
import java.util.List;
@@ -33,7 +33,7 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException;
+import redis.clients.jedis.exceptions.JedisClusterOperationException;
import org.apache.geode.cache.Operation;
import org.apache.geode.cache.Region;
@@ -156,7 +156,7 @@ public class ZAddIncrOptionDUnitTest {
long memberSize;
try {
memberSize = jedis.zcard(sortedSetKey);
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
if (retries < maxRetries) {
return false;
}
@@ -188,7 +188,7 @@ public class ZAddIncrOptionDUnitTest {
for (int i = 0; i < setSize; i++) {
try {
doCrashZAddIncr(i);
- } catch (JedisClusterMaxAttemptsException ignore) {
+ } catch (JedisClusterOperationException ignore) {
hitJedisClusterIssue2347.set(true);
}
}
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemDUnitTest.java
index b5de2af..31bf3b6 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemDUnitTest.java
@@ -31,7 +31,7 @@ import org.junit.Rule;
import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
-import redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException;
+import redis.clients.jedis.exceptions.JedisClusterOperationException;
import org.apache.geode.cache.Operation;
import org.apache.geode.cache.Region;
@@ -164,7 +164,7 @@ public class ZRemDUnitTest {
long removed;
try {
removed = jedis.zrem(sortedSetKey, map.keySet().toArray(new String[] {}));
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
if (retries < maxRetries) {
return false;
}
@@ -223,7 +223,7 @@ public class ZRemDUnitTest {
Double score = jedis.zscore(sortedSetKey, member);
assertThat(score).isNull();
}
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
return false;
}
return true;
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByLexDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByLexDUnitTest.java
index 0664740..ef9ccd9 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByLexDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByLexDUnitTest.java
@@ -34,7 +34,7 @@ import org.junit.Rule;
import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
-import redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException;
+import redis.clients.jedis.exceptions.JedisClusterOperationException;
import org.apache.geode.cache.Operation;
import org.apache.geode.cache.Region;
@@ -225,7 +225,7 @@ public class ZRemRangeByLexDUnitTest {
long removed;
try {
removed = jedis.zremrangeByLex(KEY, "[v", "[w");
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
if (retries < maxRetries) {
return false;
}
@@ -269,7 +269,7 @@ public class ZRemRangeByLexDUnitTest {
Double score = jedis.zscore(KEY, member);
assertThat(score).isNull();
}
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
return false;
}
return true;
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByRankDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByRankDUnitTest.java
index a3b3026..03567d5 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByRankDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByRankDUnitTest.java
@@ -14,6 +14,7 @@
*/
package org.apache.geode.redis.internal.commands.executor.sortedset;
+import static org.apache.geode.distributed.ConfigurationProperties.GEODE_FOR_REDIS_PORT;
import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
@@ -33,9 +34,10 @@ import org.junit.Rule;
import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
-import redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException;
+import redis.clients.jedis.exceptions.JedisClusterOperationException;
import org.apache.geode.cache.Operation;
+import org.apache.geode.internal.AvailablePortHelper;
import org.apache.geode.internal.cache.PartitionedRegion;
import org.apache.geode.internal.cache.PartitionedRegionHelper;
import org.apache.geode.redis.ConcurrentLoopingThreads;
@@ -64,9 +66,19 @@ public class ZRemRangeByRankDUnitTest {
public void setup() {
MemberVM locator = clusterStartUp.startLocatorVM(0);
int locatorPort = locator.getPort();
- MemberVM server1 = clusterStartUp.startRedisVM(1, locatorPort);
- MemberVM server2 = clusterStartUp.startRedisVM(2, locatorPort);
- MemberVM server3 = clusterStartUp.startRedisVM(3, locatorPort);
+
+ int[] serverPorts = AvailablePortHelper.getRandomAvailableTCPPorts(3);
+
+ MemberVM server1 = clusterStartUp.startRedisVM(1, x -> x
+ .withProperty(GEODE_FOR_REDIS_PORT, Integer.toString(serverPorts[0]))
+ .withConnectionToLocator(locatorPort));
+ MemberVM server2 = clusterStartUp.startRedisVM(2, x -> x
+ .withProperty(GEODE_FOR_REDIS_PORT, Integer.toString(serverPorts[1]))
+ .withConnectionToLocator(locatorPort));
+ MemberVM server3 = clusterStartUp.startRedisVM(3, x -> x
+ .withProperty(GEODE_FOR_REDIS_PORT, Integer.toString(serverPorts[2]))
+ .withConnectionToLocator(locatorPort));
+
servers = new ArrayList<>();
servers.add(server1);
servers.add(server2);
@@ -162,7 +174,7 @@ public class ZRemRangeByRankDUnitTest {
Double score = jedis.zscore(KEY, member);
assertThat(score).isNull();
}
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
return false;
}
return true;
@@ -191,7 +203,7 @@ public class ZRemRangeByRankDUnitTest {
long removed;
try {
removed = jedis.zremrangeByRank(KEY, 0, -1);
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
if (retries < maxRetries) {
return false;
}
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByScoreDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByScoreDUnitTest.java
index 9fca465..2e35bf0 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByScoreDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/ZRemRangeByScoreDUnitTest.java
@@ -36,7 +36,7 @@ import org.junit.Rule;
import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
-import redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException;
+import redis.clients.jedis.exceptions.JedisClusterOperationException;
import org.apache.geode.cache.Operation;
import org.apache.geode.internal.AvailablePortHelper;
@@ -197,7 +197,7 @@ public class ZRemRangeByScoreDUnitTest {
Double score = jedis.zscore(KEY, member);
assertThat(score).isNull();
}
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
return false;
}
return true;
@@ -244,7 +244,7 @@ public class ZRemRangeByScoreDUnitTest {
long removed;
try {
removed = jedis.zremrangeByScore(KEY, "-inf", "+inf");
- } catch (JedisClusterMaxAttemptsException e) {
+ } catch (JedisClusterOperationException e) {
if (retries < maxRetries) {
return false;
}
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/auth/AuthWhileServersRestartDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/auth/AuthWhileServersRestartDUnitTest.java
index 22f3c1e..6c625d5 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/auth/AuthWhileServersRestartDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/auth/AuthWhileServersRestartDUnitTest.java
@@ -18,7 +18,7 @@ package org.apache.geode.redis.internal.executor.auth;
import static org.apache.geode.distributed.ConfigurationProperties.GEODE_FOR_REDIS_PORT;
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
-import static redis.clients.jedis.BinaryJedisCluster.DEFAULT_MAX_ATTEMPTS;
+import static redis.clients.jedis.JedisCluster.DEFAULT_MAX_ATTEMPTS;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -59,7 +59,7 @@ public class AuthWhileServersRestartDUnitTest {
public static void classSetup() {
MemberVM locator = clusterStartUp.startLocatorVM(0,
x -> x.withSecurityManager(SimpleSecurityManager.class));
- int locatorPort = locator.getPort();
+ final int locatorPort = locator.getPort();
SerializableFunction<ServerStarterRule> serverOperator = s -> s
.withCredential("cluster", "cluster")
@@ -72,7 +72,8 @@ public class AuthWhileServersRestartDUnitTest {
String finalRedisPort = Integer.toString(server3Port);
operatorForVM3 = serverOperator.compose(o -> o
- .withProperty(GEODE_FOR_REDIS_PORT, finalRedisPort));
+ .withProperty(GEODE_FOR_REDIS_PORT, finalRedisPort)
+ .withConnectionToLocator(locatorPort));
clusterStartUp.startRedisVM(3, operatorForVM3);
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/string/StringsKillMultipleServersDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/string/StringsKillMultipleServersDUnitTest.java
index 9d0a1a7..045c841 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/string/StringsKillMultipleServersDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/executor/string/StringsKillMultipleServersDUnitTest.java
@@ -56,7 +56,7 @@ public class StringsKillMultipleServersDUnitTest {
int redisServerPort1 = cluster.getRedisPort(1);
jedisCluster =
- new JedisCluster(new HostAndPort(BIND_ADDRESS, redisServerPort1), 10_000);
+ new JedisCluster(new HostAndPort(BIND_ADDRESS, redisServerPort1), 10_000, 20);
// This sequence ensures that servers 1, 2 and 3 are hosting all the buckets and server 4
// has no buckets.
@@ -99,7 +99,12 @@ public class StringsKillMultipleServersDUnitTest {
private Void doSetOps(AtomicBoolean running, AtomicInteger counter) {
while (running.get()) {
int i = counter.getAndIncrement();
- jedisCluster.set("key-" + i, "value-" + i);
+ try {
+ jedisCluster.set("key-" + i, "value-" + i);
+ } catch (final Throwable t) {
+ t.printStackTrace();
+ throw t;
+ }
}
return null;
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/AbstractCommandPipeliningIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/AbstractCommandPipeliningIntegrationTest.java
index 4762311..92b473f 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/AbstractCommandPipeliningIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/AbstractCommandPipeliningIntegrationTest.java
@@ -92,12 +92,16 @@ public abstract class AbstractCommandPipeliningIntegrationTest implements RedisI
int numberOfPipeLineRequests = 1000;
do {
- Pipeline p = jedis.pipelined();
+ // use a unique key for each pipeline for incrementing
+ final String key = "P" + numberOfPipeLineRequests;
+ jedis.set(key, "-1");
+
+ final Pipeline p = jedis.pipelined();
for (int i = 0; i < NUMBER_OF_COMMANDS_IN_PIPELINE; i++) {
- p.echo(String.valueOf(i));
+ p.incr(key);
}
- List<Object> results = p.syncAndReturnAll();
+ final List<Object> results = p.syncAndReturnAll();
verifyResultOrder(NUMBER_OF_COMMANDS_IN_PIPELINE, results);
numberOfPipeLineRequests--;
@@ -109,8 +113,8 @@ public abstract class AbstractCommandPipeliningIntegrationTest implements RedisI
private void verifyResultOrder(final int numberOfCommandInPipeline, List<Object> results) {
for (int i = 0; i < numberOfCommandInPipeline; i++) {
- String expected = String.valueOf(i);
- String currentVal = (String) results.get(i);
+ final long expected = (long) i;
+ final long currentVal = (long) results.get(i);
assertThat(currentVal).isEqualTo(expected);
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/AbstractClusterIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/AbstractClusterIntegrationTest.java
index c55c23d..3eed977 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/AbstractClusterIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/AbstractClusterIntegrationTest.java
@@ -49,7 +49,7 @@ public abstract class AbstractClusterIntegrationTest implements RedisIntegration
@Test
public void testCluster_givenWrongNumberOfArguments() {
- final Jedis connection = jedis.getConnectionFromSlot(0);
+ final Jedis connection = new Jedis(jedis.getConnectionFromSlot(0));
assertThatThrownBy(() -> connection.sendCommand(Protocol.Command.CLUSTER))
.hasMessage("ERR wrong number of arguments for 'cluster' command");
assertThatThrownBy(
@@ -77,7 +77,7 @@ public abstract class AbstractClusterIntegrationTest implements RedisIntegration
@Test
public void keyslot_ReturnsCorrectSlot() {
- final Jedis connection = jedis.getConnectionFromSlot(0);
+ final Jedis connection = new Jedis(jedis.getConnectionFromSlot(0));
assertThat(connection.clusterKeySlot("nohash")).isEqualTo(9072);
assertThat(connection.clusterKeySlot("with{hash}")).isEqualTo(238);
assertThat(connection.clusterKeySlot("with{two}{hashes}")).isEqualTo(2127);
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/ClusterIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/ClusterIntegrationTest.java
index bcfe2ac..cfb337b 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/ClusterIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/cluster/ClusterIntegrationTest.java
@@ -36,7 +36,7 @@ public class ClusterIntegrationTest extends AbstractClusterIntegrationTest {
@Test
public void errorMessageContainsListOfSupportedSubcommands() {
- final Jedis connection = jedis.getConnectionFromSlot(0);
+ final Jedis connection = new Jedis(jedis.getConnectionFromSlot(0));
String invalidSubcommand = "subcommand";
assertThatThrownBy(() -> connection.sendCommand(Protocol.Command.CLUSTER, invalidSubcommand))
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/connection/AbstractEchoIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/connection/AbstractEchoIntegrationTest.java
index ff73905..9aafea0 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/connection/AbstractEchoIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/connection/AbstractEchoIntegrationTest.java
@@ -20,13 +20,13 @@ import static org.apache.geode.redis.RedisCommandArgumentsTestHelper.assertExact
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADDRESS;
import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CLIENT_TIMEOUT;
import static org.assertj.core.api.Assertions.assertThat;
+import static redis.clients.jedis.Protocol.Command.ECHO;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
-import redis.clients.jedis.Protocol;
import org.apache.geode.redis.RedisIntegrationTest;
@@ -45,12 +45,12 @@ public abstract class AbstractEchoIntegrationTest implements RedisIntegrationTes
@Test
public void errors_GivenWrongNumberOfArguments() {
- assertExactNumberOfArgs(jedis, Protocol.Command.ECHO, 1);
+ assertExactNumberOfArgs(jedis, ECHO, 1);
}
@Test
public void returnsString_givenString() {
- String string = "test";
- assertThat(jedis.echo(string)).isEqualTo(string);
+ final byte[] bytes = "test".getBytes();
+ assertThat((byte[]) jedis.sendCommand(ECHO, bytes)).isEqualTo(bytes);
}
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHScanIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHScanIntegrationTest.java
index 7b77231..f0aa0e1 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHScanIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHScanIntegrationTest.java
@@ -43,8 +43,8 @@ import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.ScanParams;
-import redis.clients.jedis.ScanResult;
+import redis.clients.jedis.params.ScanParams;
+import redis.clients.jedis.resps.ScanResult;
import org.apache.geode.redis.ConcurrentLoopingThreads;
import org.apache.geode.redis.RedisIntegrationTest;
@@ -477,8 +477,8 @@ public abstract class AbstractHScanIntegrationTest implements RedisIntegrationTe
jedis.hset(HASH_KEY, initialHashData);
final int iterationCount = 500;
- Jedis jedis1 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
- Jedis jedis2 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
+ final Jedis jedis1 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
+ final Jedis jedis2 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
new ConcurrentLoopingThreads(iterationCount,
(i) -> multipleHScanAndAssertOnSizeOfResultSet(jedis1, initialHashData),
@@ -498,8 +498,8 @@ public abstract class AbstractHScanIntegrationTest implements RedisIntegrationTe
jedis.hset(HASH_KEY, initialHashData);
final int iterationCount = 500;
- Jedis jedis1 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
- Jedis jedis2 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
+ final Jedis jedis1 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
+ final Jedis jedis2 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
new ConcurrentLoopingThreads(iterationCount,
(i) -> multipleHScanAndAssertOnContentOfResultSet(i, jedis1, initialHashData),
@@ -520,8 +520,8 @@ public abstract class AbstractHScanIntegrationTest implements RedisIntegrationTe
jedis.hset(HASH_KEY, initialHashData);
final int iterationCount = 500;
- Jedis jedis1 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
- Jedis jedis2 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
+ final Jedis jedis1 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
+ final Jedis jedis2 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
new ConcurrentLoopingThreads(iterationCount,
(i) -> multipleHScanAndAssertOnContentOfResultSet(i, jedis1, initialHashData),
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHashesIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHashesIntegrationTest.java
index 42f71b3..c5ec2c7 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHashesIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/hash/AbstractHashesIntegrationTest.java
@@ -38,8 +38,8 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.ScanResult;
import redis.clients.jedis.exceptions.JedisDataException;
+import redis.clients.jedis.resps.ScanResult;
import org.apache.geode.redis.ConcurrentLoopingThreads;
import org.apache.geode.redis.RedisIntegrationTest;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExistsIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExistsIntegrationTest.java
index 8dfe5d7..49e3de9 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExistsIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExistsIntegrationTest.java
@@ -125,9 +125,8 @@ public abstract class AbstractExistsIntegrationTest implements RedisIntegrationT
public void shouldReturn1_givenBitMapExists() {
String bitMapKey = "bitMapKey";
long offset = 1L;
- String bitMapValue = "0";
- jedis.setbit(bitMapKey, offset, bitMapValue);
+ jedis.setbit(bitMapKey, offset, false);
assertThat(jedis.exists(toArray(bitMapKey))).isEqualTo(1L);
}
@@ -136,9 +135,8 @@ public abstract class AbstractExistsIntegrationTest implements RedisIntegrationT
public void shouldReturn0_givenBitMapDoesNotExist() {
String bitMapKey = "bitMapKey";
long offset = 1L;
- String bitMapValue = "0";
- jedis.setbit(bitMapKey, offset, bitMapValue);
+ jedis.setbit(bitMapKey, offset, false);
jedis.del(bitMapKey);
assertThat(jedis.exists(toArray(bitMapKey))).isEqualTo(0L);
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExpireIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExpireIntegrationTest.java
index e486ec9..bf85e6e 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExpireIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractExpireIntegrationTest.java
@@ -113,9 +113,8 @@ public abstract class AbstractExpireIntegrationTest implements RedisIntegrationT
String key = "key";
long offset = 1L;
- String value = "0";
- jedis.setbit(key, offset, value);
+ jedis.setbit(key, offset, false);
Long timeToLive = jedis.ttl(key);
assertThat(timeToLive).isEqualTo(-1);
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractPersistIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractPersistIntegrationTest.java
index 1e3a012..802d927 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractPersistIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractPersistIntegrationTest.java
@@ -96,9 +96,8 @@ public abstract class AbstractPersistIntegrationTest implements RedisIntegration
public void shouldPersistKey_givenKeyWith_bitMapValue() {
String bitMapKey = "bitMapKey";
long offset = 1L;
- String bitMapValue = "0";
- jedis.setbit(bitMapKey, offset, bitMapValue);
+ jedis.setbit(bitMapKey, offset, false);
jedis.expire(bitMapKey, 20L);
assertThat(jedis.persist(bitMapKey)).isEqualTo(1L);
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractScanIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractScanIntegrationTest.java
index f53b403..aede621 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractScanIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/AbstractScanIntegrationTest.java
@@ -31,8 +31,8 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.ScanParams;
-import redis.clients.jedis.ScanResult;
+import redis.clients.jedis.params.ScanParams;
+import redis.clients.jedis.resps.ScanResult;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.test.awaitility.GeodeAwaitility;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/ScanIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/ScanIntegrationTest.java
index 203f0d5..a860e01 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/ScanIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/key/ScanIntegrationTest.java
@@ -22,8 +22,8 @@ import java.util.List;
import org.junit.ClassRule;
import org.junit.Test;
-import redis.clients.jedis.ScanParams;
-import redis.clients.jedis.ScanResult;
+import redis.clients.jedis.params.ScanParams;
+import redis.clients.jedis.resps.ScanResult;
import org.apache.geode.redis.GeodeRedisServerRule;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubCommandsIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubCommandsIntegrationTest.java
index 5de10e1..0e02dbf 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubCommandsIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubCommandsIntegrationTest.java
@@ -25,9 +25,10 @@ import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.BIND_ADD
import static org.apache.geode.util.internal.UncheckedUtils.uncheckedCast;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static redis.clients.jedis.Protocol.PUBSUB_CHANNELS;
-import static redis.clients.jedis.Protocol.PUBSUB_NUMSUB;
-import static redis.clients.jedis.Protocol.PUBSUB_NUM_PAT;
+import static redis.clients.jedis.Protocol.Command.PUBSUB;
+import static redis.clients.jedis.Protocol.Keyword.CHANNELS;
+import static redis.clients.jedis.Protocol.Keyword.NUMPAT;
+import static redis.clients.jedis.Protocol.Keyword.NUMSUB;
import java.net.SocketException;
import java.util.ArrayList;
@@ -39,7 +40,6 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import redis.clients.jedis.Jedis;
-import redis.clients.jedis.Protocol;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.redis.mocks.MockSubscriber;
@@ -64,14 +64,14 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
@Test
public void pubsub_shouldError_givenTooFewArguments() {
- assertAtLeastNArgs(introspector, Protocol.Command.PUBSUB, 1);
+ assertAtLeastNArgs(introspector, PUBSUB, 1);
}
@Test
public void pubsub_shouldReturnError_givenUnknownSubcommand() {
String expected = String.format(ERROR_UNKNOWN_PUBSUB_SUBCOMMAND, "nonesuch");
- assertThatThrownBy(() -> introspector.sendCommand(Protocol.Command.PUBSUB, "nonesuch"))
+ assertThatThrownBy(() -> introspector.sendCommand(PUBSUB, "nonesuch"))
.hasMessageContaining(expected);
}
@@ -80,8 +80,8 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
@Test
public void channels_shouldError_givenTooManyArguments() {
assertAtMostNArgsForSubCommand(introspector,
- Protocol.Command.PUBSUB,
- PUBSUB_CHANNELS.getBytes(),
+ PUBSUB,
+ CHANNELS.getRaw(),
1);
}
@@ -95,7 +95,7 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
waitFor(() -> mockSubscriber.getSubscribedChannels() == 2);
List<byte[]> result =
- uncheckedCast(introspector.sendCommand(Protocol.Command.PUBSUB, "cHaNNEls"));
+ uncheckedCast(introspector.sendCommand(PUBSUB, "cHaNNEls"));
assertThat(result).containsExactlyInAnyOrderElementsOf(expectedChannels);
@@ -111,8 +111,8 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
executor.submit(() -> subscriber.subscribe(mockSubscriber, "foo", "bar"));
waitFor(() -> mockSubscriber.getSubscribedChannels() == 2);
- List<byte[]> result =
- uncheckedCast(introspector.sendCommand(Protocol.Command.PUBSUB, PUBSUB_CHANNELS));
+ final List<byte[]> result =
+ uncheckedCast(introspector.sendCommand(PUBSUB, CHANNELS.toString()));
assertThat(result).containsExactlyInAnyOrderElementsOf(expectedChannels);
@@ -124,7 +124,7 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
executor.submit(() -> subscriber.psubscribe(mockSubscriber, "f*"));
waitFor(() -> mockSubscriber.getSubscribedChannels() == 1);
- List<String> result = introspector.pubsubChannels("f*");
+ final List<String> result = introspector.pubsubChannels("f*");
assertThat(result).isEmpty();
@@ -140,7 +140,7 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
executor.submit(() -> subscriber.subscribe(mockSubscriber, "foo", "bar"));
waitFor(() -> mockSubscriber.getSubscribedChannels() == 2);
- List<String> result = introspector.pubsubChannels("fo*");
+ final List<String> result = introspector.pubsubChannels("fo*");
assertThat(result).containsExactlyInAnyOrderElementsOf(expectedChannels);
@@ -149,7 +149,7 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
@Test
public void channels_should_returnEmptyArray_givenPatternWithNoMatches() {
- List<String> result = introspector.pubsubChannels("fo*");
+ final List<String> result = introspector.pubsubChannels("fo*");
assertThat(result).isEmpty();
}
@@ -164,8 +164,8 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
mockSubscriber.unsubscribe("foo");
waitFor(() -> mockSubscriber.getSubscribedChannels() == 1);
- List<byte[]> result =
- uncheckedCast(introspector.sendCommand(Protocol.Command.PUBSUB, PUBSUB_CHANNELS));
+ final List<byte[]> result =
+ uncheckedCast(introspector.sendCommand(PUBSUB, CHANNELS.toString()));
assertThat(result).containsExactlyInAnyOrderElementsOf(expectedChannels);
@@ -186,8 +186,8 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
waitFor(() -> (mockSubscriber.getSubscribedChannels() == 1)
&& (mockSubscriber2.getSubscribedChannels() == 1));
- List<byte[]> result =
- uncheckedCast(introspector.sendCommand(Protocol.Command.PUBSUB, PUBSUB_CHANNELS));
+ final List<byte[]> result =
+ uncheckedCast(introspector.sendCommand(PUBSUB, CHANNELS.toString()));
assertThat(result).containsExactlyInAnyOrderElementsOf(expectedChannels);
assertThat(result.size()).isEqualTo(1);
@@ -204,8 +204,8 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
executor.submit(() -> subscriber.subscribe(mockSubscriber, "foo"));
waitFor(() -> mockSubscriber.getSubscribedChannels() == 1);
- List<Object> result =
- uncheckedCast(introspector.sendCommand(Protocol.Command.PUBSUB, PUBSUB_NUMSUB));
+ final List<Object> result =
+ uncheckedCast(introspector.sendCommand(PUBSUB, NUMSUB.toString()));
assertThat(result).isEmpty();
@@ -222,12 +222,12 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
waitFor(() -> mockSubscriber.getSubscribedChannels() == 1
&& fooAndBarSubscriber.getSubscribedChannels() == 2);
- Map<String, String> result = introspector.pubsubNumSub("foo", "bar");
+ final Map<String, Long> result = introspector.pubsubNumSub("foo", "bar");
assertThat(result.containsKey("foo")).isTrue();
assertThat(result.containsKey("bar")).isTrue();
- assertThat(result.get("foo")).isEqualTo("2");
- assertThat(result.get("bar")).isEqualTo("1");
+ assertThat(result.get("foo")).isEqualTo(2L);
+ assertThat(result.get("bar")).isEqualTo(1L);
unsubscribeWithSuccess(mockSubscriber);
unsubscribeWithSuccess(fooAndBarSubscriber);
@@ -239,10 +239,10 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
executor.submit(() -> subscriber.subscribe(mockSubscriber, "foo"));
waitFor(() -> mockSubscriber.getSubscribedChannels() == 1);
- Map<String, String> result = introspector.pubsubNumSub("bar");
+ final Map<String, Long> result = introspector.pubsubNumSub("bar");
assertThat(result.containsKey("bar")).isTrue();
- assertThat(result.get("bar")).isEqualTo("0");
+ assertThat(result.get("bar")).isEqualTo(0L);
unsubscribeWithSuccess(mockSubscriber);
}
@@ -252,10 +252,10 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
executor.submit(() -> subscriber.psubscribe(mockSubscriber, "f*"));
waitFor(() -> mockSubscriber.getSubscribedChannels() == 1);
- Map<String, String> result = introspector.pubsubNumSub("f*");
+ final Map<String, Long> result = introspector.pubsubNumSub("f*");
assertThat(result.containsKey("f*")).isTrue();
- assertThat(result.get("f*")).isEqualTo("0");
+ assertThat(result.get("f*")).isEqualTo(0L);
punsubscribeWithSuccess(mockSubscriber);
}
@@ -270,17 +270,17 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
executor.submit(() -> subscriber2.subscribe(fooSubscriber, "foo"));
waitFor(() -> fooSubscriber.getSubscribedChannels() == 1);
- Map<String, String> result = introspector.pubsubNumSub("f*");
+ Map<String, Long> result = introspector.pubsubNumSub("f*");
assertThat(result.containsKey("foo")).isFalse();
assertThat(result.containsKey("f*")).isTrue();
- assertThat(result.get("f*")).isEqualTo("0");
+ assertThat(result.get("f*")).isEqualTo(0L);
result = introspector.pubsubNumSub("foo");
assertThat(result.containsKey("foo")).isTrue();
assertThat(result.containsKey("f*")).isFalse();
- assertThat(result.get("foo")).isEqualTo("1");
+ assertThat(result.get("foo")).isEqualTo(1L);
punsubscribeWithSuccess(mockSubscriber);
unsubscribeWithSuccess(fooSubscriber);
@@ -293,8 +293,8 @@ public abstract class AbstractSubCommandsIntegrationTest implements RedisIntegra
@Test
public void numpat_shouldError_givenTooManyArguments() {
assertAtMostNArgsForSubCommand(introspector,
- Protocol.Command.PUBSUB,
- PUBSUB_NUM_PAT.getBytes(),
+ PUBSUB,
+ NUMPAT.getRaw(),
0);
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubscriptionsIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubscriptionsIntegrationTest.java
index d614c5c..3dfe92e 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubscriptionsIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/pubsub/AbstractSubscriptionsIntegrationTest.java
@@ -74,12 +74,8 @@ public abstract class AbstractSubscriptionsIntegrationTest implements RedisInteg
executor.submit(() -> client.subscribe(mockSubscriber, "same"));
mockSubscriber.awaitSubscribe("same");
mockSubscriber.ping("potato");
- // JedisPubSub PING with message is not currently possible, will submit a PR
- // (https://github.com/xetorthio/jedis/issues/2049)
- // until then, we have to call this second ping to flush the client
- mockSubscriber.ping();
GeodeAwaitility.await()
- .untilAsserted(() -> assertThat(mockSubscriber.getReceivedPings().size()).isEqualTo(2));
+ .untilAsserted(() -> assertThat(mockSubscriber.getReceivedPings().size()).isOne());
assertThat(mockSubscriber.getReceivedPings().get(0)).isEqualTo("potato");
mockSubscriber.unsubscribe();
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
index 16cdc3b..1305655 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractHitsMissesIntegrationTest.java
@@ -26,8 +26,8 @@ import java.util.function.Consumer;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import redis.clients.jedis.BitOP;
import redis.clients.jedis.Jedis;
+import redis.clients.jedis.args.BitOP;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.redis.RedisTestHelper;
@@ -569,7 +569,7 @@ public abstract class AbstractHitsMissesIntegrationTest implements RedisIntegrat
@Test
public void testSetbit() {
- runCommandAndAssertNoStatUpdates(STRING_INT_KEY, k -> jedis.setbit(k, 0L, "1"));
+ runCommandAndAssertNoStatUpdates(STRING_INT_KEY, k -> jedis.setbit(k, 0L, true));
}
/************* List related commands *************/
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractInfoIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractInfoIntegrationTest.java
index 220ab54..39d8263 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractInfoIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractInfoIntegrationTest.java
@@ -121,7 +121,7 @@ public abstract class AbstractInfoIntegrationTest implements RedisIntegrationTes
@Before
public void setUp() {
jedisCluster = new JedisCluster(new HostAndPort(BIND_ADDRESS, getPort()), REDIS_CLIENT_TIMEOUT);
- jedis = jedisCluster.getConnectionFromSlot(new RedisKey(KEY.getBytes()).getSlot());
+ jedis = new Jedis(jedisCluster.getConnectionFromSlot(new RedisKey(KEY.getBytes()).getSlot()));
}
@After
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractSlowlogIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractSlowlogIntegrationTest.java
index 429bffe..dae5c00 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractSlowlogIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/AbstractSlowlogIntegrationTest.java
@@ -25,7 +25,7 @@ import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.util.Slowlog;
+import redis.clients.jedis.resps.Slowlog;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.test.awaitility.GeodeAwaitility;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/ShutdownIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/ShutdownIntegrationTest.java
index 1108f4b..c5fdbdd 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/ShutdownIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/server/ShutdownIntegrationTest.java
@@ -16,13 +16,16 @@
package org.apache.geode.redis.internal.commands.executor.server;
+import static org.apache.geode.redis.internal.RedisConstants.ERROR_UNKNOWN_COMMAND;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import redis.clients.jedis.Jedis;
+import redis.clients.jedis.exceptions.JedisDataException;
import org.apache.geode.redis.GeodeRedisServerRule;
import org.apache.geode.redis.RedisIntegrationTest;
@@ -53,10 +56,13 @@ public class ShutdownIntegrationTest implements RedisIntegrationTest {
@Test
public void shutdownIsDisabled_whenOnlySupportedCommandsAreAllowed() {
- // Unfortunately Jedis' shutdown() doesn't seem to throw a JedisDataException when the command
- // returns an error.
- jedis.shutdown();
+ final String EXPECTED_ERROR_MSG =
+ String.format("ERR " + ERROR_UNKNOWN_COMMAND, "SHUTDOWN", "");
+ assertThatThrownBy(
+ () -> jedis.shutdown())
+ .isInstanceOf(JedisDataException.class)
+ .hasMessage(EXPECTED_ERROR_MSG);
assertThat(jedis.keys("*")).isEmpty();
}
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSScanIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSScanIntegrationTest.java
index 2e6adda..5040745 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSScanIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/set/AbstractSScanIntegrationTest.java
@@ -36,8 +36,8 @@ import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.ScanParams;
-import redis.clients.jedis.ScanResult;
+import redis.clients.jedis.params.ScanParams;
+import redis.clients.jedis.resps.ScanResult;
import org.apache.geode.redis.ConcurrentLoopingThreads;
import org.apache.geode.redis.RedisIntegrationTest;
@@ -381,8 +381,8 @@ public abstract class AbstractSScanIntegrationTest implements RedisIntegrationTe
public void should_returnAllConsistentlyPresentMembers_givenConcurrentThreadsAddingAndRemovingMembers() {
final Set<String> initialMemberData = initializeThousandMemberSet();
final int iterationCount = 500;
- Jedis jedis1 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
- Jedis jedis2 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
+ final Jedis jedis1 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
+ final Jedis jedis2 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
new ConcurrentLoopingThreads(iterationCount,
(i) -> multipleSScanAndAssertOnContentOfResultSet(i, jedis1, initialMemberData),
@@ -402,8 +402,8 @@ public abstract class AbstractSScanIntegrationTest implements RedisIntegrationTe
final Set<String> initialMemberData = initializeThousandMemberSet();
jedis.sadd(KEY, initialMemberData.toArray(new String[0]));
final int iterationCount = 500;
- Jedis jedis1 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
- Jedis jedis2 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
+ Jedis jedis1 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
+ Jedis jedis2 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
new ConcurrentLoopingThreads(iterationCount,
(i) -> multipleSScanAndAssertOnContentOfResultSet(i, jedis1, initialMemberData),
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZInterStoreIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZInterStoreIntegrationTest.java
index 13e7b7a..a0d900a 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZInterStoreIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZInterStoreIntegrationTest.java
@@ -22,13 +22,13 @@ import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CL
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import java.util.HashSet;
+import java.util.ArrayList;
+import java.util.Comparator;
import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
+import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Random;
-import java.util.Set;
import java.util.function.BiFunction;
import org.assertj.core.data.Offset;
@@ -38,8 +38,8 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
-import redis.clients.jedis.ZParams;
+import redis.clients.jedis.params.ZParams;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.ConcurrentLoopingThreads;
import org.apache.geode.redis.RedisIntegrationTest;
@@ -245,7 +245,7 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
@Test
public void shouldOverwriteDestinationKey_givenDestinationExists() {
- Set<Tuple> expectedResults = new LinkedHashSet<>();
+ final List<Tuple> expectedResults = new ArrayList<>();
expectedResults.add(new Tuple("key1Member", 1.0));
jedis.zadd(NEW_SET, 1.0, "newSetMember1");
@@ -253,48 +253,49 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
jedis.zadd(KEY1, 1.0, "key1Member");
assertThat(jedis.zinterstore(NEW_SET, KEY1)).isEqualTo(1L);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0L, 1L);
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0L, 1L);
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
public void shouldStoreIntersection_givenWeightOfOne_andOneRedisSortedSet() {
Map<String, Double> scores = buildMapOfMembersAndScores();
- Set<Tuple> expectedResults = convertToTuples(scores, (ignore, value) -> value);
+ final List<Tuple> expectedResults = convertToTuples(scores, (ignore, value) -> value);
+ expectedResults.sort(Comparator.naturalOrder());
jedis.zadd(KEY1, scores);
assertThat(jedis.zinterstore(NEW_SET, new ZParams().weights(1), KEY1))
.isEqualTo(expectedResults.size());
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
public void shouldStoreIntersection_givenWeightOfZero_andOneRedisSortedSet() {
Map<String, Double> scores = buildMapOfMembersAndScores();
- Set<Tuple> expectedResults = convertToTuples(scores, (ignore, value) -> 0D);
+ final List<Tuple> expectedResults = convertToTuples(scores, (ignore, value) -> 0D);
jedis.zadd(KEY1, scores);
assertThat(jedis.zinterstore(NEW_SET, new ZParams().weights(0), KEY1))
.isEqualTo(scores.size());
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
public void shouldStoreIntersection_givenWeightOfPositiveInfinity_andOneRedisSortedSet() {
Map<String, Double> scores = buildMapOfMembersAndScores();
- Set<Tuple> expectedResults =
+ final List<Tuple> expectedResults =
convertToTuples(scores, (ignore, value) -> value > 0 ? Double.POSITIVE_INFINITY : value);
jedis.zadd(KEY1, scores);
assertThat(jedis.zinterstore(NEW_SET, new ZParams().weights(Double.POSITIVE_INFINITY),
KEY1)).isEqualTo(scores.size());
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
@@ -302,18 +303,18 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores = buildMapOfMembersAndScores();
jedis.zadd(KEY1, scores);
- Set<Tuple> expectedResults = new LinkedHashSet<>();
- expectedResults.add(new Tuple("player1", Double.POSITIVE_INFINITY));
- expectedResults.add(new Tuple("player2", 0D));
+ final List<Tuple> expectedResults = new ArrayList<>();
expectedResults.add(new Tuple("player3", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player4", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player5", Double.NEGATIVE_INFINITY));
+ expectedResults.add(new Tuple("player2", 0D));
+ expectedResults.add(new Tuple("player1", Double.POSITIVE_INFINITY));
assertThat(jedis.zinterstore(NEW_SET, new ZParams().weights(Double.NEGATIVE_INFINITY),
KEY1)).isEqualTo(scores.size());
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
@@ -323,29 +324,29 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
double multiplier = 2.71D;
- Set<Tuple> expectedResults = new LinkedHashSet<>();
+ final List<Tuple> expectedResults = new ArrayList<>();
expectedResults.add(new Tuple("player1", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player2", 0D));
expectedResults.add(new Tuple("player3", multiplier));
- expectedResults.add(new Tuple("player4", Double.POSITIVE_INFINITY));
expectedResults.add(new Tuple("player5", 3.2D * multiplier));
+ expectedResults.add(new Tuple("player4", Double.POSITIVE_INFINITY));
assertThat(jedis.zinterstore(NEW_SET, new ZParams().weights(multiplier), KEY1))
.isEqualTo(scores.size());
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
public void shouldStoreIntersection_givenMultipleRedisSortedSets() {
Map<String, Double> scores = buildMapOfMembersAndScores();
- Set<Tuple> expectedResults = new LinkedHashSet<>();
+ final List<Tuple> expectedResults = new ArrayList<>();
expectedResults.add(new Tuple("player1", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player2", 0D));
expectedResults.add(new Tuple("player3", 2D));
- expectedResults.add(new Tuple("player4", Double.POSITIVE_INFINITY));
expectedResults.add(new Tuple("player5", 3.2D * 2));
+ expectedResults.add(new Tuple("player4", Double.POSITIVE_INFINITY));
jedis.zadd(KEY1, scores);
jedis.zadd(KEY2, scores);
@@ -353,19 +354,19 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, new ZParams(), KEY1, KEY2))
.isEqualTo(expectedResults.size());
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
public void shouldStoreIntersection_givenTwoRedisSortedSets_withDifferentWeights() {
Map<String, Double> scores = buildMapOfMembersAndScores();
- Set<Tuple> expectedResults = new LinkedHashSet<>();
+ final List<Tuple> expectedResults = new ArrayList<>();
expectedResults.add(new Tuple("player1", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player2", 0D));
expectedResults.add(new Tuple("player3", 3D));
- expectedResults.add(new Tuple("player4", Double.POSITIVE_INFINITY));
expectedResults.add(new Tuple("player5", 3.2D * 3));
+ expectedResults.add(new Tuple("player4", Double.POSITIVE_INFINITY));
jedis.zadd(KEY1, scores);
jedis.zadd(KEY2, scores);
@@ -373,14 +374,14 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, new ZParams().weights(1, 2), KEY1, KEY2))
.isEqualTo(expectedResults.size());
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
- assertThat(results).containsExactlyInAnyOrderElementsOf(expectedResults);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ assertThat(results).containsExactlyElementsOf(expectedResults);
}
@Test
public void shouldStoreIntersection_givenMultipleIdenticalRedisSortedSets_withDifferentPositiveWeights() {
Map<String, Double> scores = buildMapOfMembersAndScores();
- Set<Tuple> expectedResults = new LinkedHashSet<>();
+ final List<Tuple> expectedResults = new ArrayList<>();
expectedResults.add(new Tuple("player1", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player2", 0D));
expectedResults.add(new Tuple("player3", 4.5D));
@@ -394,7 +395,7 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, new ZParams().weights(1D, 2D, 1.5D), KEY1, KEY2, KEY3))
.isEqualTo(expectedResults.size());
- Set<Tuple> actualResults = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ final List<Tuple> actualResults = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
assertThatActualScoresAreVeryCloseToExpectedScores(expectedResults, actualResults);
}
@@ -433,12 +434,12 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, new ZParams().aggregate(ZParams.Aggregate.SUM),
KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(tupleSumOfScores("player" + i, scores1, scores2, scores3));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -465,12 +466,12 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, new ZParams().aggregate(ZParams.Aggregate.MAX),
KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(tupleMaxOfScores("player" + i, scores1, scores2, scores3));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -488,12 +489,12 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, new ZParams().aggregate(ZParams.Aggregate.MIN),
KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(tupleMinOfScores("player" + i, scores1, scores2, scores3));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -517,13 +518,13 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, zParams, KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(tupleSumOfScoresWithWeights("player" + i, scores1, scores2, scores3, weight1,
weight2, weight3));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -547,13 +548,13 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, zParams, KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(tupleMaxOfScoresWithWeights("player" + i, scores1, scores2, scores3, weight1,
weight2, weight3));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -577,13 +578,13 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, zParams, KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(tupleMinOfScoresWithWeights("player" + i, scores1, scores2, scores3, weight1,
weight2, weight3));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -603,12 +604,12 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, zParams, KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(new Tuple("player" + i, score));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -628,12 +629,12 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
assertThat(jedis.zinterstore(NEW_SET, zParams, KEY1, KEY2, KEY3)).isEqualTo(5);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 6; i <= 10; i++) {
expected.add(new Tuple("player" + i, score));
}
- Set<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> actual = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, actual);
}
@@ -648,7 +649,7 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
jedis.zadd(KEY2, scores2);
jedis.zadd(KEY3, scores3);
- Set<Tuple> expected = new HashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 12; i <= 13; i++) {
expected.add(tupleMaxOfScores("player" + i, scores1, scores2, scores3));
}
@@ -656,7 +657,7 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
jedis.sendCommand(NEW_SET, Protocol.Command.ZINTERSTORE, NEW_SET, "3",
KEY1, KEY2, KEY3, "AGGREGATE", "MIN", "AGGREGATE", "MAX");
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expected, results);
}
@@ -667,12 +668,12 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
jedis.zadd(KEY1, scores);
jedis.zadd(KEY2, scores);
- Set<Tuple> expectedResults = convertToTuples(scores, (ignore, score) -> score * 2);
+ final List<Tuple> expectedResults = convertToTuples(scores, (ignore, score) -> score * 2);
// destination key is a key that exists
assertThat(jedis.zinterstore(KEY1, KEY1, KEY2)).isEqualTo(scores.size());
- Set<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
assertThatActualScoresAreVeryCloseToExpectedScores(expectedResults, results);
}
@@ -784,9 +785,9 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
scores2.get(memberName) * weight2), scores3.get(memberName) * weight3));
}
- private Set<Tuple> convertToTuples(Map<String, Double> map,
+ private List<Tuple> convertToTuples(Map<String, Double> map,
BiFunction<Integer, Double, Double> function) {
- Set<Tuple> tuples = new LinkedHashSet<>();
+ final List<Tuple> tuples = new ArrayList<>();
int x = 0;
for (Map.Entry<String, Double> e : map.entrySet()) {
tuples.add(new Tuple(e.getKey().getBytes(), function.apply(x++, e.getValue())));
@@ -797,8 +798,8 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
@Test
public void test_assertThatActualScoresAreVeryCloseToExpectedScores() {
- Set<Tuple> actualResult = new HashSet<>(3);
- Set<Tuple> expectedResult = new HashSet<>(2);
+ final List<Tuple> actualResult = new ArrayList<>(3);
+ final List<Tuple> expectedResult = new ArrayList<>(2);
actualResult.add(new Tuple("element1", 1.0));
expectedResult.add(new Tuple("element1", 1.0));
@@ -823,7 +824,7 @@ public abstract class AbstractZInterStoreIntegrationTest implements RedisIntegra
}
private void assertThatActualScoresAreVeryCloseToExpectedScores(
- Set<Tuple> expectedResults, Set<Tuple> results) {
+ final List<Tuple> expectedResults, final List<Tuple> results) {
assertThat(expectedResults.size()).isEqualTo(results.size());
for (Tuple expectedResult : expectedResults) {
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMaxIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMaxIntegrationTest.java
index c578069..bb3f828 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMaxIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMaxIntegrationTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.redis.internal.RedisConstants;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMinIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMinIntegrationTest.java
index 1d8a21f..c4df69a 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMinIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZPopMinIntegrationTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.redis.internal.RedisConstants;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeByScoreIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeByScoreIntegrationTest.java
index 39fdae5..47968d0 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeByScoreIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeByScoreIntegrationTest.java
@@ -37,7 +37,7 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.RedisIntegrationTest;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeIntegrationTest.java
index 286176a..8a5cfc4 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRangeIntegrationTest.java
@@ -24,10 +24,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
-import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.junit.After;
import org.junit.Before;
@@ -35,7 +33,7 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.redis.internal.RedisConstants;
@@ -139,7 +137,7 @@ public abstract class AbstractZRangeIntegrationTest implements RedisIntegrationT
@Test
public void shouldAlsoReturnScores_whenWithScoresSpecified() {
- Set<Tuple> expected = new LinkedHashSet<>();
+ final List<Tuple> expected = new ArrayList<>();
for (int i = 0; i < members.size(); i++) {
expected.add(new Tuple(members.get(i), scores.get(i)));
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeByScoreIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeByScoreIntegrationTest.java
index 0ce84ad..e8e94fe 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeByScoreIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeByScoreIntegrationTest.java
@@ -40,7 +40,7 @@ import org.junit.runner.RunWith;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.test.junit.runners.GeodeParamsRunner;
@@ -216,11 +216,11 @@ public abstract class AbstractZRevRangeByScoreIntegrationTest implements RedisIn
public void shouldReturnRange_boundedByLimit() {
createZSetRangeTestMap();
- assertThat(jedis.zrevrangeByScore(KEY, "10", "0", 0, 2))
+ assertThat(jedis.zrevrangeByScore(KEY, 10d, 0d, 0, 2))
.containsExactly("f", "e");
- assertThat(jedis.zrevrangeByScore(KEY, "10", "0", 2, 3))
+ assertThat(jedis.zrevrangeByScore(KEY, 10d, 0d, 2, 3))
.containsExactly("d", "c", "b");
- assertThat(jedis.zrevrangeByScore(KEY, "10", "0", 2, 10))
+ assertThat(jedis.zrevrangeByScore(KEY, 10d, 0d, 2, 10))
.containsExactly("d", "c", "b");
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeIntegrationTest.java
index 876813e..2408c3d 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZRevRangeIntegrationTest.java
@@ -25,7 +25,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import java.util.Set;
import junitparams.Parameters;
import junitparams.naming.TestCaseName;
@@ -36,7 +35,7 @@ import org.junit.runner.RunWith;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.test.junit.runners.GeodeParamsRunner;
@@ -132,7 +131,7 @@ public abstract class AbstractZRevRangeIntegrationTest implements RedisIntegrati
List<Tuple> expectedRevrange = entries.subList(subListStartIndex, subListEndIndex);
Collections.reverse(expectedRevrange);
- Set<Tuple> revrange = jedis.zrevrangeWithScores(KEY, start, end);
+ final List<Tuple> revrange = jedis.zrevrangeWithScores(KEY, start, end);
assertThat(revrange).containsExactlyElementsOf(expectedRevrange);
}
@@ -176,7 +175,7 @@ public abstract class AbstractZRevRangeIntegrationTest implements RedisIntegrati
List<String> expectedRevrange = entries.subList(subListStartIndex, subListEndIndex);
Collections.reverse(expectedRevrange);
- Set<String> revrange = jedis.zrevrange(KEY, start, end);
+ final List<String> revrange = jedis.zrevrange(KEY, start, end);
assertThat(revrange).containsExactlyElementsOf(expectedRevrange);
}
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZScanIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZScanIntegrationTest.java
index d1386c4..f6589b1 100644
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZScanIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZScanIntegrationTest.java
@@ -44,9 +44,9 @@ import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.ScanParams;
-import redis.clients.jedis.ScanResult;
-import redis.clients.jedis.Tuple;
+import redis.clients.jedis.params.ScanParams;
+import redis.clients.jedis.resps.ScanResult;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.ConcurrentLoopingThreads;
import org.apache.geode.redis.RedisIntegrationTest;
@@ -480,8 +480,8 @@ public abstract class AbstractZScanIntegrationTest implements RedisIntegrationTe
jedis.zadd(KEY, initialSortedSetData);
final int iterationCount = 500;
- Jedis jedis1 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
- Jedis jedis2 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
+ final Jedis jedis1 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
+ final Jedis jedis2 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
new ConcurrentLoopingThreads(iterationCount,
(i) -> multipleZScanAndAssertOnContentOfResultSet(jedis1, initialSortedSetData, true),
@@ -498,8 +498,8 @@ public abstract class AbstractZScanIntegrationTest implements RedisIntegrationTe
jedis.zadd(KEY, initialSortedSetData);
final int iterationCount = 500;
- Jedis jedis1 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
- Jedis jedis2 = jedis.getConnectionFromSlot(SLOT_FOR_KEY);
+ final Jedis jedis1 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
+ final Jedis jedis2 = new Jedis(jedis.getConnectionFromSlot(SLOT_FOR_KEY));
new ConcurrentLoopingThreads(iterationCount,
(i) -> multipleZScanAndAssertOnContentOfResultSet(jedis1, initialSortedSetData, false),
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZUnionStoreIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZUnionStoreIntegrationTest.java
index afe25f8..a3420fd 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZUnionStoreIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/sortedset/AbstractZUnionStoreIntegrationTest.java
@@ -20,10 +20,10 @@ import static org.apache.geode.test.dunit.rules.RedisClusterStartupRule.REDIS_CL
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import java.util.ArrayList;
import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
+import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.function.BiFunction;
import java.util.function.Function;
@@ -33,8 +33,8 @@ import org.junit.Test;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
-import redis.clients.jedis.Tuple;
-import redis.clients.jedis.ZParams;
+import redis.clients.jedis.params.ZParams;
+import redis.clients.jedis.resps.Tuple;
import org.apache.geode.redis.ConcurrentLoopingThreads;
import org.apache.geode.redis.RedisIntegrationTest;
@@ -229,12 +229,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
scores.put("player2", 0D);
scores.put("player3", 1D);
scores.put("player4", Double.POSITIVE_INFINITY);
- Set<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x);
+ List<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x);
jedis.zadd(KEY1, scores);
jedis.zunionstore(NEW_SET, new ZParams().weights(1), KEY1);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
+ List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, scores.size());
assertThat(results).containsExactlyElementsOf(expectedResults);
jedis.zunionstore(NEW_SET, new ZParams().weights(0), KEY1);
@@ -251,7 +251,7 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
jedis.zunionstore(NEW_SET, new ZParams().weights(Double.NEGATIVE_INFINITY), KEY1);
- expectedResults = new LinkedHashSet<>();
+ expectedResults = new ArrayList<>();
expectedResults.add(new Tuple("player3", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player4", Double.NEGATIVE_INFINITY));
expectedResults.add(new Tuple("player2", 0D));
@@ -263,12 +263,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
@Test
public void shouldUnionize_givenASingleSet() {
Map<String, Double> scores = makeScoreMap(10, x -> (double) x);
- Set<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x);
+ final List<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x);
jedis.zadd(KEY1, scores);
assertThat(jedis.zunionstore(NEW_SET, KEY1)).isEqualTo(10);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -276,12 +276,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
@Test
public void shouldUnionize_givenOneSetDoesNotExist() {
Map<String, Double> scores = makeScoreMap(10, x -> (double) x);
- Set<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x);
+ final List<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x);
jedis.zadd(KEY1, scores);
jedis.zunionstore(NEW_SET, KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -289,12 +289,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
@Test
public void shouldUnionize_givenWeight() {
Map<String, Double> scores = makeScoreMap(10, x -> (double) x);
- Set<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x * 1.5);
+ final List<Tuple> expectedResults = convertToTuples(scores, (i, x) -> x * 1.5);
jedis.zadd(KEY1, scores);
jedis.zunionstore(KEY1, new ZParams().weights(1.5), KEY1);
- Set<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -307,11 +307,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(10, x -> (double) (9 - x));
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> (x * 2.0) + ((9 - x) * 1.5));
+ final List<Tuple> expectedResults =
+ convertToTuples(scores1, (i, x) -> (x * 2.0) + ((9 - x) * 1.5));
jedis.zunionstore(NEW_SET, new ZParams().weights(2.0, 1.5), KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -324,12 +325,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(10, x -> 0D);
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults = convertToTuples(scores2, (i, x) -> x);
+ final List<Tuple> expectedResults = convertToTuples(scores2, (i, x) -> x);
jedis.zunionstore(NEW_SET, new ZParams().aggregate(ZParams.Aggregate.MIN),
KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -342,12 +343,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(10, x -> (double) ((x % 2 == 0) ? x : 0));
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> (double) i);
+ final List<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> (double) i);
jedis.zunionstore(NEW_SET, new ZParams().aggregate(ZParams.Aggregate.MAX),
KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -360,12 +361,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(10, x -> (double) 1);
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults = convertToTuples(scores2, (i, x) -> x);
+ final List<Tuple> expectedResults = convertToTuples(scores2, (i, x) -> x);
jedis.sendCommand(NEW_SET, Protocol.Command.ZUNIONSTORE, NEW_SET, "2",
KEY1, KEY2, "AGGREGATE", "MIN", "AGGREGATE", "MAX");
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -378,12 +379,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(10, x -> (double) ((x % 2 == 0) ? x : 0));
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> (double) (i * 2));
+ final List<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> (double) (i * 2));
jedis.zunionstore(NEW_SET, new ZParams().aggregate(ZParams.Aggregate.MAX).weights(2, 2),
KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -399,12 +400,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores3 = makeScoreMap(10, x -> (double) (x * 3));
jedis.zadd(SORTED_SET_KEY3, scores3);
- Set<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> x * 6);
+ final List<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> x * 6);
jedis.zunionstore(NEW_SET, new ZParams().aggregate(ZParams.Aggregate.SUM),
KEY1, KEY2, SORTED_SET_KEY3);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -417,12 +418,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(1, 2, 10, x -> (double) x);
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults =
+ final List<Tuple> expectedResults =
convertToTuples(makeScoreMap(0, 1, 20, x -> (double) x), (i, x) -> x);
jedis.zunionstore(NEW_SET, KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 20);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 20);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -435,12 +436,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(5, 1, 10, x -> (double) (x < 10 ? x : x * 2));
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults = convertToTuples(makeScoreMap(0, 1, 15, x -> (double) x),
+ final List<Tuple> expectedResults = convertToTuples(makeScoreMap(0, 1, 15, x -> (double) x),
(i, x) -> (double) (i < 5 ? i : i * 2));
jedis.zunionstore(NEW_SET, KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 20);
+ final List<Tuple> results = jedis.zrangeWithScores(NEW_SET, 0, 20);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -453,12 +454,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores2 = makeScoreMap(10, x -> (double) x);
jedis.zadd(KEY2, scores2);
- Set<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> (double) (i * 10));
+ final List<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> (double) (i * 10));
jedis.zunionstore(KEY1,
new ZParams().weights(1, 10).aggregate(ZParams.Aggregate.MAX), KEY1, KEY2);
- Set<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 20);
+ final List<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 20);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -468,12 +469,12 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores1 = makeScoreMap(10, x -> (double) x);
jedis.zadd(KEY1, scores1);
- Set<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> x * 2);
+ final List<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> x * 2);
// Default aggregation is SUM
jedis.zunionstore(KEY1, KEY1, KEY1);
- Set<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -483,11 +484,11 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
Map<String, Double> scores1 = makeScoreMap(10, x -> (double) x);
jedis.zadd(KEY1, scores1);
- Set<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> x);
+ final List<Tuple> expectedResults = convertToTuples(scores1, (i, x) -> x);
jedis.zunionstore(KEY1, KEY1);
- Set<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
+ final List<Tuple> results = jedis.zrangeWithScores(KEY1, 0, 10);
assertThat(results).containsExactlyElementsOf(expectedResults);
}
@@ -530,9 +531,9 @@ public abstract class AbstractZUnionStoreIntegrationTest implements RedisIntegra
return map;
}
- private Set<Tuple> convertToTuples(Map<String, Double> map,
+ private List<Tuple> convertToTuples(Map<String, Double> map,
BiFunction<Integer, Double, Double> function) {
- Set<Tuple> tuples = new LinkedHashSet<>();
+ List<Tuple> tuples = new ArrayList<>();
int x = 0;
for (Map.Entry<String, Double> e : map.entrySet()) {
tuples.add(new Tuple(e.getKey().getBytes(), function.apply(x++, e.getValue())));
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitOpIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitOpIntegrationTest.java
index 49a6a95..9ab7b5e 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitOpIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitOpIntegrationTest.java
@@ -24,10 +24,10 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import redis.clients.jedis.BitOP;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.Protocol;
+import redis.clients.jedis.args.BitOP;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.test.awaitility.GeodeAwaitility;
diff --git a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitPosIntegrationTest.java b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitPosIntegrationTest.java
index 1c33e0d..762cf9a 100755
--- a/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitPosIntegrationTest.java
+++ b/geode-for-redis/src/integrationTest/java/org/apache/geode/redis/internal/commands/executor/string/AbstractBitPosIntegrationTest.java
@@ -21,9 +21,9 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import redis.clients.jedis.BitPosParams;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Protocol;
+import redis.clients.jedis.params.BitPosParams;
import org.apache.geode.redis.RedisIntegrationTest;
import org.apache.geode.test.awaitility.GeodeAwaitility;