This is an automated email from the ASF dual-hosted git repository.
donalevans pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git
The following commit(s) were added to refs/heads/develop by this push:
new 0604473 GEODE-10080: Upgrade jedis to 4.1.1 (#165)
0604473 is described below
commit 0604473ec335dd2d70ce9045bc1eceecd2a2834f
Author: Eric Zoerner <[email protected]>
AuthorDate: Thu Mar 10 09:44:21 2022 -0800
GEODE-10080: Upgrade jedis to 4.1.1 (#165)
---
.../benchmark/redis/tasks/JedisClientManager.java | 24 ++++++++--------------
.../redis/tasks/LettuceClientManager.java | 11 ++++------
.../redis/tasks/LettucePubSubClientManager.java | 14 +++++--------
.../geode/benchmark/redis/tasks/RedisClient.java | 5 ++---
.../redis/tasks/ZrangeByScoreRedisTask.java | 8 ++++----
.../benchmark/redis/tasks/ZrangeRedisTask.java | 8 ++++----
gradle/dependency-versions.properties | 2 +-
7 files changed, 28 insertions(+), 44 deletions(-)
diff --git
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/JedisClientManager.java
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/JedisClientManager.java
index 9cb7be5..3ea6a5c 100644
---
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/JedisClientManager.java
+++
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/JedisClientManager.java
@@ -16,21 +16,20 @@
package org.apache.geode.benchmark.redis.tasks;
import static java.lang.Thread.currentThread;
-import static redis.clients.jedis.BinaryJedisCluster.HASHSLOTS;
import java.net.InetSocketAddress;
import java.util.Collection;
-import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import io.vavr.Function3;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import redis.clients.jedis.ConnectionPoolConfig;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
-import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisPubSub;
import org.apache.geode.benchmark.redis.tests.PubSubBenchmarkConfiguration;
@@ -72,12 +71,12 @@ public final class JedisClientManager implements
RedisClientManager {
}
@Override
- public Set<String> zrange(final String key, final long start, final long
stop) {
+ public List<String> zrange(final String key, final long start, final long
stop) {
return jedisCluster.zrange(key, start, stop);
}
@Override
- public Set<String> zrangeByScore(final String key, final long start, final
long stop) {
+ public List<String> zrangeByScore(final String key, final long start,
final long stop) {
return jedisCluster.zrangeByScore(key, start, stop);
}
@@ -122,15 +121,8 @@ public final class JedisClientManager implements
RedisClientManager {
@Override
public void flushdb() {
- final Set<String> seen = new HashSet<>();
- for (int i = 0; i < HASHSLOTS; ++i) {
- try (final Jedis connectionFromSlot =
jedisCluster.getConnectionFromSlot(i)) {
- if (seen.add(connectionFromSlot.getClient().getHost())) {
- logger.info("Executing flushdb on {}",
connectionFromSlot.getClient().getHost());
- connectionFromSlot.flushDB();
- }
- }
- }
+ jedisCluster.getClusterNodes()
+ .forEach((nodeKey, nodePool) -> new
Jedis(nodePool.getResource()).flushDB());
}
};
@@ -141,7 +133,7 @@ public final class JedisClientManager implements
RedisClientManager {
final Set<HostAndPort> nodes = servers.stream()
.map(i -> new HostAndPort(i.getHostString(),
i.getPort())).collect(Collectors.toSet());
- final JedisPoolConfig poolConfig = new JedisPoolConfig();
+ final ConnectionPoolConfig poolConfig = new ConnectionPoolConfig();
poolConfig.setMaxTotal(-1);
poolConfig.setMaxIdle(-1);
poolConfig.setLifo(false);
@@ -149,7 +141,7 @@ public final class JedisClientManager implements
RedisClientManager {
final long start = System.nanoTime();
while (true) {
- try (final Jedis jedis = jedisCluster.getConnectionFromSlot(0)) {
+ try (final Jedis jedis = new
Jedis(jedisCluster.getConnectionFromSlot(0))) {
logger.info("Waiting for cluster to come up.");
final String clusterInfo = jedis.clusterInfo();
if (clusterInfo.contains("cluster_state:ok")) {
diff --git
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettuceClientManager.java
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettuceClientManager.java
index c917873..8520500 100644
---
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettuceClientManager.java
+++
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettuceClientManager.java
@@ -19,9 +19,7 @@ import static java.lang.Thread.currentThread;
import java.net.InetSocketAddress;
import java.util.Collection;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import java.util.stream.Collectors;
import io.lettuce.core.Range;
@@ -83,14 +81,13 @@ public final class LettuceClientManager implements
RedisClientManager {
}
@Override
- public Set<String> zrange(String key, long start, long stop) {
- return new HashSet<>(redisAdvancedClusterCommands.get().zrange(key,
start, stop));
+ public List<String> zrange(String key, long start, long stop) {
+ return redisAdvancedClusterCommands.get().zrange(key, start, stop);
}
@Override
- public Set<String> zrangeByScore(String key, long start, long stop) {
- return new HashSet<>(
- redisAdvancedClusterCommands.get().zrangebyscore(key,
Range.create(start, stop)));
+ public List<String> zrangeByScore(String key, long start, long stop) {
+ return redisAdvancedClusterCommands.get().zrangebyscore(key,
Range.create(start, stop));
}
@Override
diff --git
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettucePubSubClientManager.java
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettucePubSubClientManager.java
index fc1536c..a6c48f7 100644
---
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettucePubSubClientManager.java
+++
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettucePubSubClientManager.java
@@ -19,9 +19,7 @@ import static java.lang.Thread.currentThread;
import java.net.InetSocketAddress;
import java.util.Collection;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import java.util.stream.Collectors;
import io.lettuce.core.Range;
@@ -84,16 +82,14 @@ public final class LettucePubSubClientManager implements
RedisClientManager {
}
@Override
- public Set<String> zrange(String key, long start, long stop) {
- return new HashSet<>(
- LettucePubSubClientManager.redisClusterCommands.get().zrange(key,
start, stop));
+ public List<String> zrange(String key, long start, long stop) {
+ return LettucePubSubClientManager.redisClusterCommands.get().zrange(key,
start, stop);
}
@Override
- public Set<String> zrangeByScore(String key, long start, long stop) {
- return new HashSet<>(
-
LettucePubSubClientManager.redisClusterCommands.get().zrangebyscore(key,
- Range.create(start, stop)));
+ public List<String> zrangeByScore(String key, long start, long stop) {
+ return
LettucePubSubClientManager.redisClusterCommands.get().zrangebyscore(key,
+ Range.create(start, stop));
}
@Override
diff --git
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClient.java
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClient.java
index 0cf7e74..71a7c4d 100644
---
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClient.java
+++
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClient.java
@@ -16,7 +16,6 @@
package org.apache.geode.benchmark.redis.tasks;
import java.util.List;
-import java.util.Set;
import io.vavr.Function3;
@@ -37,9 +36,9 @@ public interface RedisClient {
long zrem(String key, String value);
- Set<String> zrange(String key, long start, long stop);
+ List<String> zrange(String key, long start, long stop);
- Set<String> zrangeByScore(String key, long start, long stop);
+ List<String> zrangeByScore(String key, long start, long stop);
/**
* Create a subscription listener.
diff --git
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeByScoreRedisTask.java
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeByScoreRedisTask.java
index 7eeb702..3a85a02 100644
---
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeByScoreRedisTask.java
+++
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeByScoreRedisTask.java
@@ -21,8 +21,8 @@ import static
org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
+import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.Collectors;
import java.util.stream.LongStream;
@@ -73,16 +73,16 @@ public class ZrangeByScoreRedisTask extends
BenchmarkDriverAdapter implements Se
.nextLong(0, RedisSplitKey.NUM_PARTS_PER_KEY - start);
final long stop = start + len;
- final Set<String> values = redisClient.zrangeByScore(key, start, stop);
+ final List<String> values = redisClient.zrangeByScore(key, start, stop);
if (validate) {
final LongRange range =
new LongRange(start, stop);
- final Set<String> expectedValues =
+ final List<String> expectedValues =
LongStream.range(range.getMin(), range.getMax())
.boxed()
.map(keyCache::valueOf)
- .collect(Collectors.toSet());
+ .collect(Collectors.toList());
assertThat(values).isEqualTo(expectedValues);
}
diff --git
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeRedisTask.java
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeRedisTask.java
index dea41a5..034a2c4 100644
---
a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeRedisTask.java
+++
b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeRedisTask.java
@@ -21,8 +21,8 @@ import static
org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
+import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.Collectors;
import java.util.stream.LongStream;
@@ -72,16 +72,16 @@ public class ZrangeRedisTask extends BenchmarkDriverAdapter
implements Serializa
.nextLong(0, RedisSplitKey.NUM_PARTS_PER_KEY - start);
final long stop = start + len;
- final Set<String> values = redisClient.zrange(key, start, stop);
+ final List<String> values = redisClient.zrange(key, start, stop);
if (validate) {
final LongRange range =
new LongRange(start, stop);
- final Set<String> expectedValues =
+ final List<String> expectedValues =
LongStream.range(range.getMin(), range.getMax())
.boxed()
.map(keyCache::valueOf)
- .collect(Collectors.toSet());
+ .collect(Collectors.toList());
assertThat(values).isEqualTo(expectedValues);
}
diff --git a/gradle/dependency-versions.properties
b/gradle/dependency-versions.properties
index d496b8a..7e7f35b 100644
--- a/gradle/dependency-versions.properties
+++ b/gradle/dependency-versions.properties
@@ -27,7 +27,7 @@ sshd-core.version = 2.6.0
assertj-core.version = 3.19.0
software-amazon-awssdk.version = 2.16.60
JSON.version = 20210307
-jedis.version = 3.6.0
+jedis.version = 4.1.1
lettuce.version = 6.1.1.RELEASE
classgraph.version = 4.8.105
vavr.version = 1.0.0-alpha-4