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 <zoern...@vmware.com> 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