GEODE-10278: Remove the geode-for-redis benchmarks

This module is being removed from the geode repository, so we need to remove
the corresponding benchmarks as well.
diff --git a/README.md b/README.md
index 9b91583..fe84d8e 100644
--- a/README.md
+++ b/README.md
@@ -94,15 +94,6 @@
 | withRouter            | Use router with SNI proxy topology. |
 | withRouterImage       | Provide an alternative Docker image coordinate for router. |
 
-##### Redis Benchmarks
-These options only apply to Redis benchmarks.
-
-| Option                | Description |
-| --------------------- | ----------- |
-| withRedisClient       | Redis client to use. May be 'jedis' (default) or 'lettuce'. |
-| withRedisCluster      | Redis cluster implementation. May be 'geode' (default), 'redis', 'manual'. |
-| withRedisServers      | A semicolon delimited list of Redis host:port pairs for manual cluster mode. |
-
 ##### Debugging
 These options should not be used when measuring benchmarks.
 
@@ -233,42 +224,3 @@
 ```console
 ./run_tests.sh -t anytagname -- -Pbenchmark.withRouter --tests=PartitionedGetBenchmark
 ```
-
-## Redis Benchmarking
-
-You can run benchmarks utilizing the Redis protocol with various clients and backends. All Redis
-benchmarks take the pattern `Redis*Benchmark`. They expect 3 shards with 1 replica per shard, which
-when combined with 1 Geode locator and the benchmarking client needs a total of 8 hosts 
-(`./launch_cluster ... -c 8`).
-
-The `withRedisClient` property accepts:
-* `Jedis` for using the [Jedis](https://github.com/redis/jedis) library (default).
-* `Lettuce` for using the [Lettuce](https://lettuce.io) library.
-
-The `withRedisCluster` property accepts:
-* `Geode` for using the [Geode](https://geode.apache.org) server backend (default). Builds a Geode
-  cluster utilizing 7 hosts, 1 locator and 6 servers.
-* `Redis` for using the [Redis](https://redis.io) server backend. Builds a Redis cluster utilizing
-  6 hosts and the [Bitnami Redis image](https://hub.docker.com/r/bitnami/redis/).
-* `Manual` for using a manually configured Redis server backend, like [Elasticache](https://aws.amazon.com/elasticache/).
-  Use `withRedisServers` to specify the address(es) to the Redis server endpoints.
-  
-Examples:
-
-* Runs the `RedisGetBenchmark` against a Geode cluster using the Jedis client.
-    ```console
-    ./run_tests.sh -t anytagname -- --tests=RedisGetBenchmark
-    ```
-* Runs the `RedisGetBenchmark` against a Geode cluster using the Lettuce client.
-    ```console
-    ./run_tests.sh -t anytagname -- -Pbenchmark.withRedisClient=lettuce --tests=RedisGetBenchmark
-    ```
-* Runs the `RedisGetBenchmark` against a Redis cluster using the Jedis client.
-    ```console
-    ./run_tests.sh -t anytagname -- -Pbenchmark.withRedisCluster=redis --tests=RedisGetBenchmark
-    ```
-* Runs the `RedisGetBenchmark` against an Elasticache cluster using the Jedis client.
-    ```console
-    ./run_tests.sh -t anytagname -- -Pbenchmark.withRedisCluster=manual -Pbenchmark.withRedisServers=my-cluster...clustercfg.usw2.cache.amazonaws.com:6379 --tests=RedisGetBenchmark
-    ```
-  
\ No newline at end of file
diff --git a/geode-benchmarks/build.gradle b/geode-benchmarks/build.gradle
index 5aed353..0887e6b 100644
--- a/geode-benchmarks/build.gradle
+++ b/geode-benchmarks/build.gradle
@@ -59,9 +59,7 @@
   geodeVersion = configurations.geodeVersionResolver.resolvedConfiguration.resolvedArtifacts.find {it.name == 'geode-core'}.moduleVersion.id.version
   logger.info("Building with Geode ${geodeVersion}.")
 
-  implementation platform("org.apache.geode:geode-all-bom:${geodeVersion}") {
-    exclude group: 'redis.clients'
-  }
+  implementation platform("org.apache.geode:geode-all-bom:${geodeVersion}")
 
   implementation(project(':harness'))
 
@@ -78,17 +76,6 @@
     runtimeOnly(group: 'org.apache.logging.log4j', name: 'log4j-core')
   }
 
-  implementation(group: 'redis.clients', name: 'jedis', version: project.'jedis.version')
-  implementation(group: 'io.lettuce', name: 'lettuce-core', version: project.'lettuce.version') {
-    exclude group: 'io.netty'
-  }
-  implementation(group: 'io.vavr', name: 'vavr', version: project.'vavr.version')
-
-
-  if (VersionNumber.parse(geodeVersion) >= VersionNumber.parse("1.15.0.+")) {
-    runtimeOnly(group: 'org.apache.geode', name: 'geode-for-redis')
-  }
-
   // Required for missing dependency on geode-core.
   runtimeOnly(group: 'org.eclipse.jetty', name: 'jetty-webapp')
 
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/GeodeParameters.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/GeodeParameters.java
deleted file mode 100644
index 74d152f..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/GeodeParameters.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.parameters;
-
-import static java.lang.Integer.getInteger;
-import static java.lang.String.format;
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_BUCKETS;
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_REPLICAS;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.perftest.TestConfig;
-
-public class GeodeParameters {
-  private static final Logger logger = LoggerFactory.getLogger(GeodeParameters.class);
-
-  public static void configure(final TestConfig testConfig) {
-    logger.info("Configuring Geode APIs compatible with Redis parameters.");
-
-    testConfig.jvmArgs(SERVER.name(), "-Denable-unsupported-commands=true",
-        format("-Dredis.replicas=%d", getInteger(WITH_REPLICAS, 1)),
-        format("-Dredis.region.buckets=%d", getInteger(WITH_BUCKETS, 128)),
-        format("-Djava.lang.Integer.IntegerCache.high=%d", getInteger(WITH_BUCKETS, 128)));
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/NettyParameters.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/NettyParameters.java
deleted file mode 100644
index 060d1fe..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/NettyParameters.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.parameters;
-
-import static java.lang.Integer.getInteger;
-import static java.lang.String.format;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.perftest.TestConfig;
-
-public class NettyParameters {
-  private static final Logger logger = LoggerFactory.getLogger(NettyParameters.class);
-  public static final String WITH_NETTY_THREADS = "benchmark.withNettyThreads";
-
-  public static void configure(final TestConfig testConfig) {
-    logger.info("Configuring Netty parameters.");
-
-    final Integer withNettyThreads = getInteger(WITH_NETTY_THREADS, null);
-    if (null != withNettyThreads) {
-      testConfig.jvmArgs(SERVER.name(), format("-Dio.netty.eventLoopThreads=%d", withNettyThreads));
-    }
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/AbstractPrePopulate.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/AbstractPrePopulate.java
deleted file mode 100644
index 9b09457..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/AbstractPrePopulate.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.util.stream.Collectors.toList;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.benchmark.LongRange;
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public abstract class AbstractPrePopulate implements Task {
-  private static final Logger logger = LoggerFactory.getLogger(AbstractPrePopulate.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRangeToPrepopulate;
-
-  public AbstractPrePopulate(
-      final RedisClientManager redisClientManager,
-      final LongRange keyRangeToPrepopulate) {
-    this.redisClientManager = redisClientManager;
-    this.keyRangeToPrepopulate = keyRangeToPrepopulate;
-  }
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    final List<Integer> hostsIDsForRole =
-        context.getHostsIDsForRole(CLIENT.name()).stream().sorted().collect(toList());
-    final int self = context.getJvmID();
-    final int position = hostsIDsForRole.indexOf(self);
-
-    final LongRange keyRange = keyRangeToPrepopulate.sliceFor(hostsIDsForRole.size(), position);
-
-    final int numThreads = Runtime.getRuntime().availableProcessors();
-    final ExecutorService threadPool = Executors.newFixedThreadPool(numThreads);
-    final List<CompletableFuture<Void>> futures = new ArrayList<>();
-
-    for (final LongRange slice : keyRange.slice(numThreads)) {
-      futures.add(CompletableFuture.runAsync(() -> {
-        logger.info("Prepopulating slice: {} starting...", slice);
-        final RedisClient redisClient = redisClientManager.get();
-        slice.forEach(i -> {
-          prepopulate(redisClient, i);
-        });
-      }, threadPool));
-    }
-
-    futures.forEach(CompletableFuture::join);
-
-    threadPool.shutdownNow();
-    threadPool.awaitTermination(5, TimeUnit.MINUTES);
-  }
-
-  protected abstract void prepopulate(final RedisClient redisClient, final long key);
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/CreateRedisCluster.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/CreateRedisCluster.java
deleted file mode 100644
index 1181dcd..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/CreateRedisCluster.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.lang.String.valueOf;
-import static java.util.Arrays.asList;
-import static java.util.stream.Collectors.toList;
-import static org.apache.geode.benchmark.tasks.ProcessControl.retryUntilZeroExit;
-import static org.apache.geode.benchmark.topology.Ports.REDIS_PORT;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-
-import java.net.InetAddress;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class CreateRedisCluster implements Task {
-
-  private static final Logger logger = LoggerFactory.getLogger(CreateRedisCluster.class);
-
-  final int replicas;
-
-  public CreateRedisCluster(final int replicas) {
-    this.replicas = replicas;
-  }
-
-  public int getReplicas() {
-    return replicas;
-  }
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    final List<Integer> hostsIDsForRole =
-        context.getHostsIDsForRole(CLIENT.name()).stream().sorted().collect(toList());
-    final int self = context.getJvmID();
-    final int position = hostsIDsForRole.indexOf(self);
-
-    if (0 != position) {
-      return;
-    }
-
-    final Set<InetAddress> servers = context.getHostsForRole(SERVER.name());
-
-    final List<String> redisNodes =
-        servers.stream().map(i -> i.getHostAddress() + ":" + REDIS_PORT)
-            .collect(Collectors.toList());
-
-    final ProcessBuilder processBuilder =
-        new ProcessBuilder().command("docker", "run", "--rm",
-            "--network", "host",
-            "bitnami/redis-cluster:latest",
-            "redis-cli",
-            "--cluster", "create");
-
-    processBuilder.command().addAll(redisNodes);
-
-    processBuilder.command().addAll(asList(
-        "--cluster-replicas", valueOf(replicas),
-        "--cluster-yes"));
-
-    logger.info("Creating redis cluster. {}", processBuilder.command());
-
-    retryUntilZeroExit(processBuilder);
-
-    Thread.sleep(10_000);
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/FlushDbTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/FlushDbTask.java
deleted file mode 100644
index da357fa..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/FlushDbTask.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-/**
- * Flushes the contents of the Redis database.
- */
-public class FlushDbTask implements Task {
-
-  private final RedisClientManager redisClientManager;
-
-  public FlushDbTask(final RedisClientManager redisClientManager) {
-    this.redisClientManager = redisClientManager;
-  }
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    redisClientManager.get().flushdb();
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/GetRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/GetRedisTask.java
deleted file mode 100644
index d0832dd..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/GetRedisTask.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-
-public class GetRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(GetRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-  private final boolean validate;
-
-  private LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-  public GetRedisTask(final RedisClientManager redisClientManager, final LongRange keyRange,
-      final boolean validate) {
-    logger.info("Initialized: keyRange={}, validate={}", keyRange, validate);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-    this.validate = validate;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final String key = keyCache.valueOf(keyRange.random());
-    final String value = redisClient.get(key);
-    if (validate) {
-      assertThat(value).isEqualTo(key);
-    }
-    return true;
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HgetRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HgetRedisTask.java
deleted file mode 100644
index 544b101..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HgetRedisTask.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toPart;
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class HgetRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(HgetRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-  private final boolean validate;
-
-  private transient LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-  public HgetRedisTask(final RedisClientManager redisClientManager, final LongRange keyRange,
-      final boolean validate) {
-    logger.info("Initialized: keyRange={}, validate={}", keyRange, validate);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-    this.validate = validate;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final long k = keyRange.random();
-
-    final String key = keyCache.valueOf(toKey(k));
-    final String field = keyCache.valueOf(toPart(k));
-    final String value = redisClient.hget(key, field);
-    if (validate) {
-      assertThat(value).isEqualTo(field);
-    }
-    return true;
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HsetRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HsetRedisTask.java
deleted file mode 100644
index 570bf8e..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HsetRedisTask.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toPart;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class HsetRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(HsetRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-
-  private transient LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-  public HsetRedisTask(final RedisClientManager redisClientManager, final LongRange keyRange) {
-    logger.info("Initialized: keyRange={}", keyRange);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final long k = keyRange.random();
-    final String key = keyCache.valueOf(toKey(k));
-    final String field = keyCache.valueOf(toPart(k));
-    final String value = keyCache.valueOf(k);
-    redisClient.hset(key, field, value);
-    return true;
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRedisServersAttribute.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRedisServersAttribute.java
deleted file mode 100644
index d3c72d2..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRedisServersAttribute.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-
-import static org.apache.geode.benchmark.topology.Ports.REDIS_PORT;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-
-import java.net.InetSocketAddress;
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.benchmark.redis.tests.RedisBenchmark;
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class InitRedisServersAttribute implements Task {
-  private static final Logger logger = LoggerFactory.getLogger(InitRedisServersAttribute.class);
-
-  final Collection<InetSocketAddress> servers;
-
-  public InitRedisServersAttribute() {
-    this(null);
-  }
-
-  public InitRedisServersAttribute(final Collection<InetSocketAddress> servers) {
-    this.servers = servers;
-  }
-
-  public Collection<InetSocketAddress> getServers() {
-    return servers;
-  }
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    if (null == servers) {
-      final List<InetSocketAddress> servers =
-          context.getHostsForRole(SERVER.name()).stream().map(i -> InetSocketAddress
-              .createUnresolved(i.getHostAddress(), REDIS_PORT)).collect(Collectors.toList());
-      logger.info("Setting servers from roles: {}", servers);
-      context.setAttribute(RedisBenchmark.REDIS_SERVERS_ATTRIBUTE, servers);
-    } else {
-      logger.info("Setting servers from fixed collection: {}", servers);
-      context.setAttribute(RedisBenchmark.REDIS_SERVERS_ATTRIBUTE, servers);
-    }
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java
deleted file mode 100644
index 63cfaf2..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-
-import static org.apache.geode.benchmark.tasks.StartServer.SERVER_CACHE;
-
-import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.partition.PartitionRegionHelper;
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class InitRegion implements Task {
-
-  public static final String REDIS_DATA_REGION = "GEODE_FOR_REDIS";
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    final Cache cache = (Cache) context.getAttribute(SERVER_CACHE);
-    final Region<?, ?> region = cache.getRegion(REDIS_DATA_REGION);
-    PartitionRegionHelper.assignBucketsToPartitions(region);
-  }
-}
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
deleted file mode 100644
index 3ea6a5c..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/JedisClientManager.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.lang.Thread.currentThread;
-
-import java.net.InetSocketAddress;
-import java.util.Collection;
-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.JedisPubSub;
-
-import org.apache.geode.benchmark.redis.tests.PubSubBenchmarkConfiguration;
-
-public final class JedisClientManager implements RedisClientManager {
-  private static final Logger logger = LoggerFactory.getLogger(RedisClientManager.class);
-
-  private static JedisCluster jedisCluster;
-
-  private static final RedisClient redisClient = new RedisClient() {
-    @Override
-    public String get(final String key) {
-      return jedisCluster.get(key);
-    }
-
-    @Override
-    public String set(final String key, final String value) {
-      return jedisCluster.set(key, value);
-    }
-
-    @Override
-    public String hget(final String key, final String field) {
-      return jedisCluster.hget(key, field);
-    }
-
-    @Override
-    public boolean hset(final String key, final String field, final String value) {
-      return 1 == jedisCluster.hset(key, field, value);
-    }
-
-    @Override
-    public long zadd(final String key, final double score, final String value) {
-      return jedisCluster.zadd(key, score, value);
-    }
-
-    @Override
-    public long zrem(final String key, final String value) {
-      return jedisCluster.zrem(key, value);
-    }
-
-    @Override
-    public List<String> zrange(final String key, final long start, final long stop) {
-      return jedisCluster.zrange(key, start, stop);
-    }
-
-    @Override
-    public List<String> zrangeByScore(final String key, final long start, final long stop) {
-      return jedisCluster.zrangeByScore(key, start, stop);
-    }
-
-    @Override
-    public SubscriptionListener createSubscriptionListener(
-        final PubSubBenchmarkConfiguration pubSubConfig,
-        final Function3<String, String, Unsubscriber, Void> channelMessageConsumer) {
-      return new JedisSubscriptionListener(new JedisPubSub() {
-        @Override
-        public void onPMessage(final String pattern, final String channel, final String message) {
-          super.onPMessage(pattern, channel, message);
-          final Unsubscriber unsubscriber =
-              channels -> punsubscribe(channels.toArray(new String[] {}));
-          channelMessageConsumer.apply(channel, message, unsubscriber);
-        }
-
-        @Override
-        public void onMessage(final String channel, final String message) {
-          super.onMessage(channel, message);
-          final Unsubscriber unsubscriber =
-              channels -> unsubscribe(channels.toArray(new String[] {}));
-          channelMessageConsumer.apply(channel, message, unsubscriber);
-        }
-      });
-    }
-
-    @Override
-    public void subscribe(final SubscriptionListener listener, final String... channels) {
-      jedisCluster.subscribe(((JedisSubscriptionListener) listener).getJedisPubSub(), channels);
-    }
-
-    @Override
-    public void psubscribe(final SubscriptionListener listener, final String... channelPatterns) {
-      jedisCluster.psubscribe(((JedisSubscriptionListener) listener).getJedisPubSub(),
-          channelPatterns);
-    }
-
-    @Override
-    public void publish(final String channel, final String message) {
-      jedisCluster.publish(channel, message);
-    }
-
-    @Override
-    public void flushdb() {
-      jedisCluster.getClusterNodes()
-          .forEach((nodeKey, nodePool) -> new Jedis(nodePool.getResource()).flushDB());
-    }
-  };
-
-  @Override
-  public void connect(final Collection<InetSocketAddress> servers) {
-    logger.info("Connect RedisClient on thread {}.", currentThread());
-
-    final Set<HostAndPort> nodes = servers.stream()
-        .map(i -> new HostAndPort(i.getHostString(), i.getPort())).collect(Collectors.toSet());
-
-    final ConnectionPoolConfig poolConfig = new ConnectionPoolConfig();
-    poolConfig.setMaxTotal(-1);
-    poolConfig.setMaxIdle(-1);
-    poolConfig.setLifo(false);
-    final JedisCluster jedisCluster = new JedisCluster(nodes, Integer.MAX_VALUE, poolConfig);
-
-    final long start = System.nanoTime();
-    while (true) {
-      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")) {
-          break;
-        }
-        logger.debug(clusterInfo);
-      } catch (final Exception e) {
-        if (System.nanoTime() - start > CONNECT_TIMEOUT.toNanos()) {
-          throw e;
-        }
-        try {
-          Thread.sleep(50);
-        } catch (final InterruptedException interruptedException) {
-          throw new RuntimeException(e);
-        }
-        logger.info("Failed connecting.", e);
-      }
-    }
-
-    JedisClientManager.jedisCluster = jedisCluster;
-  }
-
-  @Override
-  public void close() {
-    logger.info("Close RedisClient on thread {}.", currentThread());
-
-    jedisCluster.close();
-  }
-
-  @Override
-  public RedisClient get() {
-    logger.info("Getting RedisClient on thread {}.", currentThread());
-
-    return redisClient;
-  }
-
-  static class JedisSubscriptionListener implements RedisClient.SubscriptionListener {
-    private final JedisPubSub jedisPubSub;
-
-    public JedisSubscriptionListener(final JedisPubSub jedisPubSub) {
-      this.jedisPubSub = jedisPubSub;
-    }
-
-    JedisPubSub getJedisPubSub() {
-      return jedisPubSub;
-    }
-  }
-
-}
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
deleted file mode 100644
index 8520500..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettuceClientManager.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.lang.Thread.currentThread;
-
-import java.net.InetSocketAddress;
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import io.lettuce.core.Range;
-import io.lettuce.core.ReadFrom;
-import io.lettuce.core.RedisURI;
-import io.lettuce.core.cluster.RedisClusterClient;
-import io.lettuce.core.cluster.api.StatefulRedisClusterConnection;
-import io.lettuce.core.cluster.api.sync.RedisAdvancedClusterCommands;
-import io.vavr.Function3;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.benchmark.redis.tests.PubSubBenchmarkConfiguration;
-
-public final class LettuceClientManager implements RedisClientManager {
-  private static final Logger logger = LoggerFactory.getLogger(LettuceClientManager.class);
-
-  private static RedisClusterClient redisClusterClient;
-
-  private static final ThreadLocal<RedisAdvancedClusterCommands<String, String>> redisAdvancedClusterCommands =
-      ThreadLocal.withInitial(() -> {
-        logger.info("Setup for thread {}", Thread.currentThread().getId());
-
-        final StatefulRedisClusterConnection<String, String> redisClusterConnection =
-            redisClusterClient.connect();
-        redisClusterConnection.setReadFrom(ReadFrom.ANY);
-        return redisClusterConnection.sync();
-      });
-
-  private static final RedisClient redisClient = new RedisClient() {
-    @Override
-    public String get(final String key) {
-      return redisAdvancedClusterCommands.get().get(key);
-    }
-
-    @Override
-    public String set(final String key, final String value) {
-      return redisAdvancedClusterCommands.get().set(key, value);
-    }
-
-    @Override
-    public String hget(final String key, final String field) {
-      return redisAdvancedClusterCommands.get().hget(key, field);
-    }
-
-    @Override
-    public boolean hset(final String key, final String field, final String value) {
-      return redisAdvancedClusterCommands.get().hset(key, field, value);
-    }
-
-    @Override
-    public long zadd(String key, double score, String value) {
-      return redisAdvancedClusterCommands.get().zadd(key, score, value);
-    }
-
-    @Override
-    public long zrem(String key, String value) {
-      return redisAdvancedClusterCommands.get().zrem(key, value);
-    }
-
-    @Override
-    public List<String> zrange(String key, long start, long stop) {
-      return redisAdvancedClusterCommands.get().zrange(key, start, stop);
-    }
-
-    @Override
-    public List<String> zrangeByScore(String key, long start, long stop) {
-      return redisAdvancedClusterCommands.get().zrangebyscore(key, Range.create(start, stop));
-    }
-
-    @Override
-    public SubscriptionListener createSubscriptionListener(
-        final PubSubBenchmarkConfiguration pubSubConfig,
-        final Function3<String, String, Unsubscriber, Void> channelMessageConsumer) {
-      throw new UnsupportedOperationException("not a pubsub client");
-    }
-
-    @Override
-    public void subscribe(final SubscriptionListener listener, final String... channels) {
-      throw new UnsupportedOperationException("not a pubsub client");
-    }
-
-    @Override
-    public void psubscribe(final SubscriptionListener listener, final String... channelPatterns) {
-      throw new UnsupportedOperationException("not a pubsub client");
-    }
-
-    @Override
-    public void publish(final String channel, final String message) {
-      throw new UnsupportedOperationException("not a pubsub client");
-    }
-
-    @Override
-    public void flushdb() {
-      redisAdvancedClusterCommands.get().flushdb();
-    }
-  };
-
-  @Override
-  public void connect(final Collection<InetSocketAddress> servers) {
-    logger.info("Connect RedisClient on thread {}.", currentThread());
-
-    final List<RedisURI> nodes = servers.stream()
-        .map(i -> RedisURI.create(i.getHostString(), i.getPort())).collect(Collectors.toList());
-
-    final RedisClusterClient redisClusterClient = RedisClusterClient.create(nodes);
-
-    long start = System.nanoTime();
-    while (true) {
-      try (final StatefulRedisClusterConnection<String, String> connection =
-          redisClusterClient.connect()) {
-        logger.info("Waiting for cluster to come up.");
-        final String clusterInfo = connection.sync().clusterInfo();
-        if (clusterInfo.contains("cluster_state:ok")) {
-          break;
-        }
-        logger.debug(clusterInfo);
-      } catch (Exception e) {
-        if (System.nanoTime() - start > CONNECT_TIMEOUT.toNanos()) {
-          throw e;
-        }
-        try {
-          Thread.sleep(50);
-        } catch (InterruptedException interruptedException) {
-          throw new RuntimeException(e);
-        }
-        logger.info("Failed connecting.", e);
-      }
-    }
-
-    redisClusterClient.refreshPartitions();
-
-    LettuceClientManager.redisClusterClient = redisClusterClient;
-  }
-
-  @Override
-  public void close() {
-    logger.info("Close RedisClient on thread {}.", currentThread());
-
-    redisClusterClient.shutdown();
-  }
-
-  @Override
-  public RedisClient get() {
-    logger.info("Getting RedisClient on thread {}.", currentThread());
-
-    return redisClient;
-  }
-}
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
deleted file mode 100644
index a6c48f7..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettucePubSubClientManager.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.lang.Thread.currentThread;
-
-import java.net.InetSocketAddress;
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import io.lettuce.core.Range;
-import io.lettuce.core.RedisURI;
-import io.lettuce.core.cluster.RedisClusterClient;
-import io.lettuce.core.cluster.pubsub.StatefulRedisClusterPubSubConnection;
-import io.lettuce.core.cluster.pubsub.api.sync.RedisClusterPubSubCommands;
-import io.lettuce.core.pubsub.RedisPubSubAdapter;
-import io.lettuce.core.pubsub.RedisPubSubListener;
-import io.lettuce.core.pubsub.StatefulRedisPubSubConnection;
-import io.vavr.Function3;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.benchmark.redis.tests.PubSubBenchmarkConfiguration;
-
-public final class LettucePubSubClientManager implements RedisClientManager {
-  private static final Logger logger = LoggerFactory.getLogger(LettucePubSubClientManager.class);
-
-  private static RedisClusterClient redisClusterClient;
-
-  private static final ThreadLocal<RedisClusterPubSubCommands<String, String>> redisClusterCommands =
-      ThreadLocal.withInitial(() -> {
-        logger.info("Setup for thread {}", Thread.currentThread().getId());
-
-        final StatefulRedisClusterPubSubConnection<String, String> redisClusterPubSubConnection =
-            redisClusterClient.connectPubSub();
-        return redisClusterPubSubConnection.sync();
-      });
-
-  private static final RedisClient redisClient = new RedisClient() {
-    @Override
-    public String get(final String key) {
-      return LettucePubSubClientManager.redisClusterCommands.get().get(key);
-    }
-
-    @Override
-    public String set(final String key, final String value) {
-      return LettucePubSubClientManager.redisClusterCommands.get().set(key, value);
-    }
-
-    @Override
-    public String hget(final String key, final String field) {
-      return LettucePubSubClientManager.redisClusterCommands.get().hget(key, field);
-    }
-
-    @Override
-    public boolean hset(final String key, final String field, final String value) {
-      return LettucePubSubClientManager.redisClusterCommands.get().hset(key, field, value);
-    }
-
-    @Override
-    public long zadd(String key, double score, String value) {
-      return LettucePubSubClientManager.redisClusterCommands.get().zadd(key, score, value);
-    }
-
-    @Override
-    public long zrem(String key, String value) {
-      return LettucePubSubClientManager.redisClusterCommands.get().zrem(key, value);
-    }
-
-    @Override
-    public List<String> zrange(String key, long start, long stop) {
-      return LettucePubSubClientManager.redisClusterCommands.get().zrange(key, start, stop);
-    }
-
-    @Override
-    public List<String> zrangeByScore(String key, long start, long stop) {
-      return LettucePubSubClientManager.redisClusterCommands.get().zrangebyscore(key,
-          Range.create(start, stop));
-    }
-
-    @Override
-    public SubscriptionListener createSubscriptionListener(
-        final PubSubBenchmarkConfiguration pubSubConfig,
-        final Function3<String, String, Unsubscriber, Void> channelMessageConsumer) {
-      return new LettuceSubscriptionListener(new RedisPubSubAdapter<String, String>() {
-        @Override
-        public void message(final String pattern, final String channel, final String message) {
-          super.message(pattern, channel, message);
-          final Unsubscriber unsubscriber =
-              channels -> LettucePubSubClientManager.redisClusterCommands.get()
-                  .punsubscribe(channels.toArray(new String[] {}));
-          channelMessageConsumer.apply(channel, message, unsubscriber);
-        }
-
-        @Override
-        public void message(final String channel, final String message) {
-          super.message(channel, message);
-          final Unsubscriber unsubscriber =
-              channels -> LettucePubSubClientManager.redisClusterCommands.get()
-                  .unsubscribe(channels.toArray(new String[] {}));
-          channelMessageConsumer.apply(channel, message, unsubscriber);
-        }
-      });
-    }
-
-    @Override
-    public void subscribe(final SubscriptionListener listener, final String... channels) {
-      final StatefulRedisPubSubConnection<String, String> connection =
-          LettucePubSubClientManager.redisClusterCommands.get().getStatefulConnection();
-
-      connection.addListener(((LettuceSubscriptionListener) listener).getListener());
-      LettucePubSubClientManager.redisClusterCommands.get().subscribe(channels);
-    }
-
-    @Override
-    public void psubscribe(final SubscriptionListener listener, final String... channels) {
-      final StatefulRedisPubSubConnection<String, String> connection =
-          LettucePubSubClientManager.redisClusterCommands.get().getStatefulConnection();
-
-      connection.addListener(((LettuceSubscriptionListener) listener).getListener());
-      LettucePubSubClientManager.redisClusterCommands.get().psubscribe(channels);
-    }
-
-    @Override
-    public void publish(String channel, String message) {
-      LettucePubSubClientManager.redisClusterCommands.get().publish(channel, message);
-    }
-
-    @Override
-    public void flushdb() {
-      redisClusterCommands.get().flushdb();
-    }
-  };
-
-  @Override
-  public void connect(final Collection<InetSocketAddress> servers) {
-    logger.info("Connect RedisClient on thread {}.", currentThread());
-
-    final List<RedisURI> nodes = servers.stream()
-        .map(i -> RedisURI.create(i.getHostString(), i.getPort())).collect(Collectors.toList());
-
-    final RedisClusterClient redisClusterClient = RedisClusterClient.create(nodes);
-
-    long start = System.nanoTime();
-    while (true) {
-      try (final StatefulRedisClusterPubSubConnection<String, String> connection =
-          redisClusterClient.connectPubSub()) {
-        logger.info("Waiting for cluster to come up.");
-        final String clusterInfo = connection.sync().clusterInfo();
-        if (clusterInfo.contains("cluster_state:ok")) {
-          break;
-        }
-        logger.debug(clusterInfo);
-      } catch (Exception e) {
-        if (System.nanoTime() - start > CONNECT_TIMEOUT.toNanos()) {
-          throw e;
-        }
-        try {
-          Thread.sleep(50);
-        } catch (InterruptedException interruptedException) {
-          throw new RuntimeException(e);
-        }
-        logger.info("Failed connecting.", e);
-      }
-    }
-
-    redisClusterClient.refreshPartitions();
-
-    LettucePubSubClientManager.redisClusterClient = redisClusterClient;
-  }
-
-  @Override
-  public void close() {
-    logger.info("Close RedisClient on thread {}.", currentThread());
-
-    redisClusterClient.shutdown();
-  }
-
-  @Override
-  public RedisClient get() {
-    logger.info("Getting RedisClient on thread {}.", currentThread());
-
-    return redisClient;
-  }
-
-  static class LettuceSubscriptionListener implements RedisClient.SubscriptionListener {
-    private final RedisPubSubListener<String, String> listener;
-
-    public LettuceSubscriptionListener(
-        RedisPubSubListener<String, String> listener) {
-      this.listener = listener;
-    }
-
-    RedisPubSubListener<String, String> getListener() {
-      return listener;
-    }
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LongStringCache.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LongStringCache.java
deleted file mode 100644
index aecc5c1..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LongStringCache.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class LongStringCache {
-  private final int offset;
-  private final String[] cache;
-
-  public LongStringCache(final LongRange longRange) {
-    offset = (int) longRange.getMin();
-    cache = new String[(int) (longRange.getMax() - offset)];
-    longRange.forEach(i -> cache[(int) i] = String.valueOf(i));
-  }
-
-  public String valueOf(final long value) {
-    return cache[(int) (value - offset)];
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedis.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedis.java
deleted file mode 100644
index 455b3d0..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedis.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.lang.String.valueOf;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class PrePopulateRedis extends AbstractPrePopulate {
-
-  public PrePopulateRedis(
-      final RedisClientManager redisClientManager,
-      final LongRange keyRangeToPrepopulate) {
-    super(redisClientManager, keyRangeToPrepopulate);
-  }
-
-  @Override
-  protected void prepopulate(final RedisClient redisClient, final long key) {
-    final String keyString = valueOf(key);
-    redisClient.set(keyString, keyString);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedisHash.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedisHash.java
deleted file mode 100644
index 63caa03..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedisHash.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.lang.String.valueOf;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toPart;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class PrePopulateRedisHash extends AbstractPrePopulate {
-
-  public PrePopulateRedisHash(
-      final RedisClientManager redisClientManager,
-      final LongRange keyRangeToPrepopulate) {
-    super(redisClientManager, keyRangeToPrepopulate);
-  }
-
-  @Override
-  protected void prepopulate(final RedisClient redisClient, final long key) {
-    final String value = valueOf(toPart(key));
-    redisClient.hset(valueOf(toKey(key)), value, value);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedisSortedSet.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedisSortedSet.java
deleted file mode 100644
index 293ae92..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedisSortedSet.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.lang.String.valueOf;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toPart;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class PrePopulateRedisSortedSet extends AbstractPrePopulate {
-
-  public PrePopulateRedisSortedSet(
-      final RedisClientManager redisClientManager,
-      final LongRange keyRangeToPrepopulate) {
-    super(redisClientManager, keyRangeToPrepopulate);
-  }
-
-  @Override
-  protected void prepopulate(final RedisClient redisClient, final long key) {
-    final long score = toPart(key);
-    final String value = valueOf(score);
-    redisClient.zadd(valueOf(toKey(key)), score, value);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PublishRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PublishRedisTask.java
deleted file mode 100644
index f9b977f..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PublishRedisTask.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.io.Serializable;
-import java.util.Map;
-import java.util.concurrent.CyclicBarrier;
-import java.util.concurrent.TimeUnit;
-
-import com.google.common.base.Strings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.redis.tests.PubSubBenchmarkConfiguration;
-
-public class PublishRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(PublishRedisTask.class);
-  private final PubSubBenchmarkConfiguration pubSubConfig;
-  private final RedisClientManager publisherClientManager;
-
-  public PublishRedisTask(final PubSubBenchmarkConfiguration pubSubConfig,
-      final RedisClientManager publisherClientManager) {
-    this.pubSubConfig = pubSubConfig;
-    this.publisherClientManager = publisherClientManager;
-    logger.info("Initialized: PublishRedisTask");
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final CyclicBarrier barrier = pubSubConfig.getCyclicBarrier();
-    final RedisClient redisClient = publisherClientManager.get();
-
-    for (final String channel : pubSubConfig.getBenchmarkPublishChannels()) {
-      for (int i = 0; i < pubSubConfig.getNumMessagesPerChannelOperation(); i++) {
-        final String message = Strings.repeat(String.valueOf((char) ('A' + i)),
-            pubSubConfig.getMessageLength());
-        redisClient.publish(channel, message);
-      }
-    }
-
-    // waits for all subscribers to receive all messages, then barrier is reset automatically
-    // for the next test iteration; fails test if times out
-    barrier.await(10, TimeUnit.SECONDS);
-    return true;
-  }
-
-  @Override
-  public void tearDown() throws Exception {
-    super.tearDown();
-    logger.info("PublishRedisTask: Sending END message");
-    assertThat(pubSubConfig.getCyclicBarrier().getNumberWaiting()).isZero();
-    assertThat(pubSubConfig.getCyclicBarrier().isBroken()).isFalse();
-    publisherClientManager.get().publish(pubSubConfig.getControlChannel(),
-        pubSubConfig.getEndMessage());
-  }
-}
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
deleted file mode 100644
index 71a7c4d..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClient.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import java.util.List;
-
-import io.vavr.Function3;
-
-import org.apache.geode.benchmark.redis.tests.PubSubBenchmarkConfiguration;
-
-public interface RedisClient {
-  String get(String key);
-
-  String set(String key, String value);
-
-  String hget(String key, String field);
-
-  boolean hset(String key, String field, String value);
-
-  void flushdb();
-
-  long zadd(String key, double score, String value);
-
-  long zrem(String key, String value);
-
-  List<String> zrange(String key, long start, long stop);
-
-  List<String> zrangeByScore(String key, long start, long stop);
-
-  /**
-   * Create a subscription listener.
-   *
-   * @param channelMessageConsumer a function that accepts the channel, the message, and
-   *        a consumer that will unsubscribe the listener from the list of channels
-   *        passed in.
-   * @return the subscription listener
-   */
-  SubscriptionListener createSubscriptionListener(PubSubBenchmarkConfiguration pubSubConfig,
-      Function3<String, String, Unsubscriber, Void> channelMessageConsumer);
-
-  void subscribe(SubscriptionListener control, String... channels);
-
-  void psubscribe(SubscriptionListener control, String... channelPatterns);
-
-  void publish(String channel, String message);
-
-  interface SubscriptionListener {
-  }
-
-  @FunctionalInterface
-  interface Unsubscriber {
-    void unsubscribe(List<String> channels);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClientManager.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClientManager.java
deleted file mode 100644
index fd30f34..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClientManager.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import java.io.Serializable;
-import java.net.InetSocketAddress;
-import java.time.Duration;
-import java.util.Collection;
-
-public interface RedisClientManager extends Serializable {
-  Duration CONNECT_TIMEOUT = Duration.ofMinutes(1);
-
-  void connect(final Collection<InetSocketAddress> servers) throws InterruptedException;
-
-  void close();
-
-  RedisClient get();
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisSplitKey.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisSplitKey.java
deleted file mode 100644
index b32525d..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisSplitKey.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-/**
- * Split keyspace into a sublevel of keys.
- */
-public class RedisSplitKey {
-
-  public static long NUM_PARTS_PER_KEY = 1000;
-
-  public static long toKey(final long key) {
-    return key / NUM_PARTS_PER_KEY;
-  }
-
-  public static long toPart(final long key) {
-    return key % NUM_PARTS_PER_KEY;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/SetRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/SetRedisTask.java
deleted file mode 100644
index af12fc6..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/SetRedisTask.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class SetRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(SetRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-  private final boolean validate;
-
-  private LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-
-  public SetRedisTask(final RedisClientManager redisClientManager, final LongRange keyRange,
-      final boolean validate) {
-    logger.info("Initialized: keyRange={}, validate={}", keyRange, validate);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-    this.validate = validate;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final String key = keyCache.valueOf(keyRange.random());
-    final String response = redisClient.set(key, key);
-    if (validate) {
-      assertThat(response).isEqualTo("OK");
-    }
-    return true;
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartGeodeServer.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartGeodeServer.java
deleted file mode 100644
index f379d02..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartGeodeServer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-
-import static java.lang.String.valueOf;
-
-import org.apache.geode.benchmark.tasks.StartServer;
-import org.apache.geode.cache.server.CacheServer;
-import org.apache.geode.perftest.TestContext;
-
-public class StartGeodeServer extends StartServer {
-
-  private final int redisPort;
-
-  public StartGeodeServer(final int locatorPort, final int serverPort, final int redisPort) {
-    super(locatorPort, serverPort);
-    this.redisPort = redisPort;
-  }
-
-  @Override
-  public void run(TestContext context) throws Exception {
-    try {
-      System.setProperty("gemfire.geode-for-redis-port", valueOf(redisPort));
-      System.setProperty("gemfire.geode-for-redis-enabled", valueOf(true));
-      super.run(context);
-    } finally {
-      System.clearProperty("gemfire.geode-for-redis-port");
-      System.clearProperty("gemfire.geode-for-redis-enabled");
-    }
-  }
-
-  @Override
-  protected CacheServer configureCacheServer(final CacheServer cacheServer,
-      final TestContext context) {
-    return null;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisClient.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisClient.java
deleted file mode 100644
index 147d1b7..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisClient.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static org.apache.geode.benchmark.redis.tests.RedisBenchmark.REDIS_SERVERS_ATTRIBUTE;
-
-import java.net.InetSocketAddress;
-import java.util.Collection;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-/**
- * Task to create the client cache
- */
-public class StartRedisClient implements Task {
-  private static final Logger logger = LoggerFactory.getLogger(StartRedisClient.class);
-
-  private final RedisClientManager redisClientManager;
-
-  public StartRedisClient(final RedisClientManager redisClientManager) {
-    this.redisClientManager = redisClientManager;
-  }
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    @SuppressWarnings("unchecked")
-    final Collection<InetSocketAddress> redisClusterAddresses =
-        (Collection<InetSocketAddress>) context.getAttribute(REDIS_SERVERS_ATTRIBUTE);
-    redisClientManager.connect(redisClusterAddresses);
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisServer.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisServer.java
deleted file mode 100644
index dcf3e2b..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisServer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import static java.net.InetAddress.getLocalHost;
-import static org.apache.geode.benchmark.tasks.ProcessControl.runAndExpectZeroExit;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-
-import java.net.InetAddress;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class StartRedisServer implements Task {
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    final Set<InetAddress> servers = context.getHostsForRole(SERVER.name());
-
-    final String redisNodes =
-        servers.stream().map(InetAddress::getHostAddress).collect(Collectors.joining(" "));
-
-    final ProcessBuilder processBuilder =
-        new ProcessBuilder().command("docker", "run", "-d", "--rm",
-            "-e", "ALLOW_EMPTY_PASSWORD=yes",
-            "-e", "REDIS_NODES=" + redisNodes,
-            "-e", "REDIS_CLUSTER_DYNAMIC_IPS=no",
-            "-e", "REDIS_CLUSTER_ANNOUNCE_IP=" + getLocalHost().getHostAddress(),
-            "-e", "REDIS_AOF_ENABLED=no",
-            "--name", "redis-cluster-node",
-            "--network", "host",
-            "bitnami/redis-cluster:latest");
-
-    runAndExpectZeroExit(processBuilder);
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopPubSubRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopPubSubRedisTask.java
deleted file mode 100644
index 94caa7c..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopPubSubRedisTask.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.geode.benchmark.redis.tasks;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class StopPubSubRedisTask implements Task {
-  private static final Logger logger = LoggerFactory.getLogger(StopPubSubRedisTask.class);
-
-  public StopPubSubRedisTask() {
-    logger.info("Initialized: PubSubEndRedisTask");
-  }
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    SubscribeRedisTask.shutdown(context);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisClient.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisClient.java
deleted file mode 100644
index 8c55fdf..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisClient.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-
-
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class StopRedisClient implements Task {
-  final RedisClientManager redisClientManager;
-
-  public StopRedisClient(final RedisClientManager redisClientManager) {
-    this.redisClientManager = redisClientManager;
-  }
-
-  @Override
-  public void run(TestContext context) throws Exception {
-    redisClientManager.close();
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisServer.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisServer.java
deleted file mode 100644
index ffe776a..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisServer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class StopRedisServer implements Task {
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    new ProcessBuilder().command("docker", "kill", "redis-cluster-node").start();
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/SubscribeRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/SubscribeRedisTask.java
deleted file mode 100644
index 6cda0d5..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/SubscribeRedisTask.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.geode.benchmark.redis.tasks;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.util.List;
-import java.util.concurrent.BrokenBarrierException;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CyclicBarrier;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.geode.benchmark.redis.tests.PubSubBenchmarkConfiguration;
-import org.apache.geode.perftest.Task;
-import org.apache.geode.perftest.TestContext;
-
-public class SubscribeRedisTask implements Task {
-  private static final Logger logger = LoggerFactory.getLogger(SubscribeRedisTask.class);
-
-  // TextContext keys for shared objects between the SubscribeTask (before) and
-  // the PubSubEndTask (after)
-  private static final String SUBSCRIBERS_CONTEXT_KEY = "subscribers";
-  private static final String SUBSCRIBERS_THREAD_POOL = "threadPool";
-
-  private final List<RedisClientManager> subscriberClientManagers;
-  private final boolean validate;
-  private final PubSubBenchmarkConfiguration pubSubConfig;
-
-  public SubscribeRedisTask(final PubSubBenchmarkConfiguration pubSubConfig,
-      final List<RedisClientManager> subscriberClientManagers,
-      final boolean validate) {
-    this.pubSubConfig = pubSubConfig;
-    logger.info(
-        "Initialized: SubscribeRedisTask numChannels={}, numMessagesPerChannel={}, messageLength={}, validate={}, useChannelPattern={}",
-        pubSubConfig.getNumChannels(), pubSubConfig.getNumMessagesPerChannelOperation(),
-        pubSubConfig.getMessageLength(), validate, pubSubConfig.shouldUseChannelPattern());
-    this.subscriberClientManagers = subscriberClientManagers;
-    this.validate = validate;
-  }
-
-  @Override
-  public void run(final TestContext context) throws Exception {
-    final CyclicBarrier barrier = pubSubConfig.getCyclicBarrier();
-
-    // save subscribers in the TestContext, as this will be shared with
-    // the after tasks which will call shutdown()
-    final List<Subscriber> subscribers = subscriberClientManagers.stream()
-        .map(cm -> new Subscriber(cm.get(), barrier, context))
-        .collect(Collectors.toList());
-    context.setAttribute(SUBSCRIBERS_CONTEXT_KEY, subscribers);
-
-    // save thread pool in TestContext, so it can be shutdown cleanly after
-    final ExecutorService subscriberThreadPool =
-        Executors.newFixedThreadPool(subscriberClientManagers.size());
-    context.setAttribute(SUBSCRIBERS_THREAD_POOL, subscriberThreadPool);
-
-    for (final Subscriber subscriber : subscribers) {
-      subscriber.subscribeAsync(subscriberThreadPool, context);
-    }
-
-    // sleep to try to make sure subscribe is complete before continuing
-    Thread.sleep(1000);
-  }
-
-  public static void shutdown(final TestContext cxt) throws Exception {
-    // precondition: method run has been previously executed in this Worker
-    // and therefore subscribers and threadPool are available
-    @SuppressWarnings("unchecked")
-    final List<Subscriber> subscribers =
-        (List<Subscriber>) cxt.getAttribute(SUBSCRIBERS_CONTEXT_KEY);
-
-    for (final SubscribeRedisTask.Subscriber subscriber : subscribers) {
-      subscriber.waitForCompletion(cxt);
-    }
-
-    logger.info("Shutting down thread pool…");
-
-    final ExecutorService threadPool = (ExecutorService) cxt.getAttribute(SUBSCRIBERS_THREAD_POOL);
-    threadPool.shutdownNow();
-    // noinspection ResultOfMethodCallIgnored
-    threadPool.awaitTermination(5, TimeUnit.MINUTES);
-
-    logger.info("Thread pool terminated");
-  }
-
-  public class Subscriber {
-    private final AtomicInteger messagesReceived;
-    private final int numMessagesExpected;
-    private final RedisClient client;
-    private final RedisClient.SubscriptionListener listener;
-    private CompletableFuture<Void> future;
-
-    Subscriber(final RedisClient client, final CyclicBarrier barrier, final TestContext context) {
-      this.messagesReceived = new AtomicInteger(0);
-      this.client = client;
-
-      numMessagesExpected =
-          pubSubConfig.getNumChannels() * pubSubConfig.getNumMessagesPerChannelOperation();
-
-      listener = client.createSubscriptionListener(pubSubConfig,
-          (String channel, String message, RedisClient.Unsubscriber unsubscriber) -> {
-            if (channel.equals(pubSubConfig.getControlChannel())) {
-              if (message.equals(pubSubConfig.getEndMessage())) {
-                unsubscriber.unsubscribe(pubSubConfig.getAllSubscribeChannels());
-                logger.info("Subscriber thread unsubscribed.");
-              } else {
-                throw new AssertionError("Unrecognized control message: " + message);
-              }
-            } else if (receiveMessageAndIsComplete(channel, message, context)) {
-              try {
-                reset();
-                barrier.await(10, TimeUnit.SECONDS);
-              } catch (final TimeoutException e) {
-                throw new RuntimeException("Subscriber timed out while waiting on barrier");
-              } catch (final InterruptedException | BrokenBarrierException ignored) {
-              }
-            }
-            return null;
-          });
-    }
-
-    public void subscribeAsync(final ExecutorService threadPool, final TestContext context) {
-      future = CompletableFuture.runAsync(
-          () -> {
-            final List<String> channels = pubSubConfig.getAllSubscribeChannels();
-            if (pubSubConfig.shouldUseChannelPattern()) {
-              context.logProgress("Subscribing to channel patterns " + channels);
-              client.psubscribe(listener, channels.toArray(new String[] {}));
-            } else {
-              context.logProgress("Subscribing to channels " + channels);
-              client.subscribe(listener, channels.toArray(new String[] {}));
-            }
-          }, threadPool);
-      future.whenComplete((result, ex) -> {
-        logger.info("Subscriber thread completed");
-        if (ex != null) {
-          ex.printStackTrace();
-          context.logProgress(String.format("Subscriber completed with exception '%s')", ex));
-        }
-      });
-    }
-
-    public void waitForCompletion(final TestContext ctx) throws Exception {
-      if (future == null) {
-        return;
-      }
-      assertThat(future.get(10, TimeUnit.SECONDS)).isNull();
-    }
-
-    // Receive a message and return true if all messages have been received
-    private boolean receiveMessageAndIsComplete(final String channel, final String message,
-        final TestContext context) {
-      if (validate) {
-        context.logProgress(String.format(
-            "Received message %s of length %d on channel %s; messagesReceived=%d; messagesExpected=%d",
-            message, message.length(), channel, messagesReceived.get() + 1, numMessagesExpected));
-        assertThat(message.length()).isEqualTo(pubSubConfig.getMessageLength());
-      }
-      return messagesReceived.incrementAndGet() >= numMessagesExpected;
-    }
-
-    private void reset() {
-      messagesReceived.set(0);
-    }
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZaddAndZremRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZaddAndZremRedisTask.java
deleted file mode 100644
index 3cbc20e..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZaddAndZremRedisTask.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toPart;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class ZaddAndZremRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(ZaddAndZremRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-
-  private transient LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-  public ZaddAndZremRedisTask(final RedisClientManager redisClientManager,
-      final LongRange keyRange) {
-    logger.info("Initialized: keyRange={}", keyRange);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  private static String NEXT_KEY = "N";
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final long k = keyRange.random();
-
-    final String key = keyCache.valueOf(toKey(k));
-    final long score = toPart(k);
-    final String value = keyCache.valueOf(score);
-    redisClient.zadd(key, score, value);
-    redisClient.zrem(key, value);
-    return true;
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZaddRedisTask.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZaddRedisTask.java
deleted file mode 100644
index 646cfd5..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZaddRedisTask.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toKey;
-import static org.apache.geode.benchmark.redis.tasks.RedisSplitKey.toPart;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class ZaddRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(ZaddRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-
-  private transient LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-  public ZaddRedisTask(final RedisClientManager redisClientManager, final LongRange keyRange) {
-    logger.info("Initialized: keyRange={}", keyRange);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final long k = keyRange.random();
-
-    final String key = keyCache.valueOf(toKey(k));
-    final long score = toPart(k);
-    final String value = keyCache.valueOf(score);
-    redisClient.zadd(key, score, value);
-    return true;
-  }
-
-}
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
deleted file mode 100644
index 3a85a02..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeByScoreRedisTask.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-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.concurrent.ThreadLocalRandom;
-import java.util.stream.Collectors;
-import java.util.stream.LongStream;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class ZrangeByScoreRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(ZrangeByScoreRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-  private final boolean validate;
-
-  private transient LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-  public ZrangeByScoreRedisTask(final RedisClientManager redisClientManager,
-      final LongRange keyRange,
-      final boolean validate) {
-    logger.info("Initialized: keyRange={}, validate={}", keyRange, validate);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-    this.validate = validate;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final long k = keyRange.random();
-
-    final String key = keyCache.valueOf(toKey(k));
-
-    final long start = ThreadLocalRandom.current()
-        .nextLong(0, RedisSplitKey.NUM_PARTS_PER_KEY);
-    final long len = ThreadLocalRandom.current()
-        .nextLong(0, RedisSplitKey.NUM_PARTS_PER_KEY - start);
-    final long stop = start + len;
-
-    final List<String> values = redisClient.zrangeByScore(key, start, stop);
-    if (validate) {
-      final LongRange range =
-          new LongRange(start, stop);
-
-      final List<String> expectedValues =
-          LongStream.range(range.getMin(), range.getMax())
-              .boxed()
-              .map(keyCache::valueOf)
-              .collect(Collectors.toList());
-
-      assertThat(values).isEqualTo(expectedValues);
-    }
-    return true;
-  }
-
-}
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
deleted file mode 100644
index 034a2c4..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/ZrangeRedisTask.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tasks;
-
-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.concurrent.ThreadLocalRandom;
-import java.util.stream.Collectors;
-import java.util.stream.LongStream;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.yardstickframework.BenchmarkConfiguration;
-import org.yardstickframework.BenchmarkDriverAdapter;
-
-import org.apache.geode.benchmark.LongRange;
-
-public class ZrangeRedisTask extends BenchmarkDriverAdapter implements Serializable {
-  private static final Logger logger = LoggerFactory.getLogger(ZrangeRedisTask.class);
-
-  private final RedisClientManager redisClientManager;
-  private final LongRange keyRange;
-  private final boolean validate;
-
-  private transient LongStringCache keyCache;
-  private transient RedisClient redisClient;
-
-  public ZrangeRedisTask(final RedisClientManager redisClientManager, final LongRange keyRange,
-      final boolean validate) {
-    logger.info("Initialized: keyRange={}, validate={}", keyRange, validate);
-    this.redisClientManager = redisClientManager;
-    this.keyRange = keyRange;
-    this.validate = validate;
-  }
-
-  @Override
-  public void setUp(final BenchmarkConfiguration cfg) throws Exception {
-    super.setUp(cfg);
-
-    keyCache = new LongStringCache(keyRange);
-    redisClient = redisClientManager.get();
-  }
-
-  @Override
-  public boolean test(final Map<Object, Object> ctx) throws Exception {
-    final long k = keyRange.random();
-
-    final String key = keyCache.valueOf(toKey(k));
-
-    final long start = ThreadLocalRandom.current()
-        .nextLong(0, RedisSplitKey.NUM_PARTS_PER_KEY);
-    final long len = ThreadLocalRandom.current()
-        .nextLong(0, RedisSplitKey.NUM_PARTS_PER_KEY - start);
-    final long stop = start + len;
-
-    final List<String> values = redisClient.zrange(key, start, stop);
-    if (validate) {
-      final LongRange range =
-          new LongRange(start, stop);
-
-      final List<String> expectedValues =
-          LongStream.range(range.getMin(), range.getMax())
-              .boxed()
-              .map(keyCache::valueOf)
-              .collect(Collectors.toList());
-
-      assertThat(values).isEqualTo(expectedValues);
-    }
-    return true;
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubBenchmarkConfiguration.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubBenchmarkConfiguration.java
deleted file mode 100644
index 67b6388..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubBenchmarkConfiguration.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static java.util.concurrent.TimeUnit.MINUTES;
-import static org.apache.geode.benchmark.Config.after;
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.redis.tests.RedisBenchmark.RedisClusterImplementation.Manual;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.CyclicBarrier;
-import java.util.function.Supplier;
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
-import java.util.stream.Stream;
-
-import org.apache.geode.benchmark.redis.tasks.FlushDbTask;
-import org.apache.geode.benchmark.redis.tasks.JedisClientManager;
-import org.apache.geode.benchmark.redis.tasks.LettucePubSubClientManager;
-import org.apache.geode.benchmark.redis.tasks.PublishRedisTask;
-import org.apache.geode.benchmark.redis.tasks.RedisClientManager;
-import org.apache.geode.benchmark.redis.tasks.StartRedisClient;
-import org.apache.geode.benchmark.redis.tasks.StopPubSubRedisTask;
-import org.apache.geode.benchmark.redis.tasks.StopRedisClient;
-import org.apache.geode.benchmark.redis.tasks.SubscribeRedisTask;
-import org.apache.geode.perftest.TestConfig;
-
-public abstract class PubSubBenchmarkConfiguration implements Serializable {
-
-  public static final long DURATION_SECONDS = MINUTES.toSeconds(10);
-
-  public abstract CyclicBarrier getCyclicBarrier();
-
-  public abstract int getNumSubscribers();
-
-  public abstract int getNumChannels();
-
-  public abstract int getNumMessagesPerChannelOperation();
-
-  public abstract int getMessageLength();
-
-  public abstract String getControlChannel();
-
-  public abstract String getEndMessage();
-
-  public abstract boolean shouldUseChannelPattern();
-
-  public List<String> getBenchmarkSubscribeChannels() {
-    return shouldUseChannelPattern() ? Collections.singletonList("channel*")
-        : getBenchmarkPublishChannels();
-  }
-
-  public List<String> getBenchmarkPublishChannels() {
-    return IntStream.range(0, getNumChannels()).mapToObj(n -> "channel" + n)
-        .collect(Collectors.toList());
-  }
-
-  /** Return list of all channels for subscribing including the control channel. */
-  public List<String> getAllSubscribeChannels() {
-    return Stream.concat(getBenchmarkSubscribeChannels().stream(),
-        Stream.of(getControlChannel())).collect(Collectors.toList());
-  }
-
-  public void configurePubSubTest(final RedisBenchmark benchmark,
-      final TestConfig config) {
-
-    benchmark.configureClusterTopology(config);
-
-    // By design this benchmark is run with a single publisher,
-    // the subscriber threads are configured separately
-    config.threads(1);
-
-    // Run twice as long due to longer operations than typical benchmarks
-    config.durationSeconds(DURATION_SECONDS);
-
-    final Supplier<RedisClientManager> clientManagerSupplier;
-    switch (benchmark.getRedisClientImplementation()) {
-      case Jedis:
-        clientManagerSupplier = JedisClientManager::new;
-        break;
-      case Lettuce:
-        clientManagerSupplier = LettucePubSubClientManager::new;
-        break;
-      default:
-        throw new AssertionError("unexpected RedisClientImplementation");
-    }
-
-    // client manager for publisher
-    benchmark.redisClientManager = clientManagerSupplier.get();
-
-    // client managers for subscribers
-    final List<RedisClientManager> subscriberClients =
-        Stream.generate(clientManagerSupplier).limit(getNumSubscribers())
-            .collect(Collectors.toList());
-
-
-    before(config, new StartRedisClient(benchmark.redisClientManager), CLIENT);
-
-    before(config,
-        new SubscribeRedisTask(this, subscriberClients,
-            benchmark.isValidationEnabled()),
-        CLIENT);
-
-    if (Manual == benchmark.getRedisClusterImplementation()) {
-      before(config, new FlushDbTask(benchmark.redisClientManager), CLIENT);
-    }
-
-    workload(config,
-        new PublishRedisTask(this, benchmark.redisClientManager),
-        CLIENT);
-
-    after(config, new StopPubSubRedisTask(), CLIENT);
-
-    after(config, new StopRedisClient(benchmark.redisClientManager), CLIENT);
-    subscriberClients.forEach(c -> after(config, new StopRedisClient(c), CLIENT));
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubLargeBenchmarkConfiguration.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubLargeBenchmarkConfiguration.java
deleted file mode 100644
index 54df524..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubLargeBenchmarkConfiguration.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package org.apache.geode.benchmark.redis.tests;
-
-import java.util.concurrent.CyclicBarrier;
-
-public class PubSubLargeBenchmarkConfiguration extends PubSubBenchmarkConfiguration {
-
-  private static final int NUM_SUBSCRIBERS = 10;
-  private static final int NUM_CHANNELS = 5;
-  private static final int NUM_MESSAGES_PER_CHANNEL_OPERATION = 40000;
-  private static final int MESSAGE_LENGTH = 500;
-  private static final String CONTROL_CHANNEL = "__control__";
-  private static final String END_MESSAGE = "END";
-
-  private static final CyclicBarrier BARRIER = new CyclicBarrier(NUM_SUBSCRIBERS + 1);
-
-  private final boolean shouldUseChannelPattern;
-
-  public PubSubLargeBenchmarkConfiguration() {
-    this(false);
-  }
-
-  public PubSubLargeBenchmarkConfiguration(final boolean shouldUseChannelPattern) {
-    this.shouldUseChannelPattern = shouldUseChannelPattern;
-  }
-
-  @Override
-  public boolean shouldUseChannelPattern() {
-    return shouldUseChannelPattern;
-  }
-
-  @Override
-  public String getEndMessage() {
-    return END_MESSAGE;
-  }
-
-  @Override
-  public CyclicBarrier getCyclicBarrier() {
-    return BARRIER;
-  }
-
-  @Override
-  public int getNumSubscribers() {
-    return NUM_SUBSCRIBERS;
-  }
-
-  @Override
-  public int getNumChannels() {
-    return NUM_CHANNELS;
-  }
-
-  @Override
-  public int getNumMessagesPerChannelOperation() {
-    return NUM_MESSAGES_PER_CHANNEL_OPERATION;
-  }
-
-  @Override
-  public int getMessageLength() {
-    return MESSAGE_LENGTH;
-  }
-
-  @Override
-  public String getControlChannel() {
-    return CONTROL_CHANNEL;
-  }
-
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubSmallBenchmarkConfiguration.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubSmallBenchmarkConfiguration.java
deleted file mode 100644
index c9a27a9..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/PubSubSmallBenchmarkConfiguration.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import java.util.concurrent.CyclicBarrier;
-
-public class PubSubSmallBenchmarkConfiguration extends PubSubBenchmarkConfiguration {
-
-  private static final int NUM_SUBSCRIBERS = 1;
-  private static final int NUM_CHANNELS = 1;
-  private static final int NUM_MESSAGES_PER_CHANNEL_OPERATION = 1;
-  private static final int MESSAGE_LENGTH = 1;
-  private static final String CONTROL_CHANNEL = "__control__";
-  private static final String END_MESSAGE = "END";
-
-  private static final CyclicBarrier BARRIER = new CyclicBarrier(NUM_SUBSCRIBERS + 1);
-
-  private final boolean shouldUseChannelPattern;
-
-  public PubSubSmallBenchmarkConfiguration() {
-    this(false);
-  }
-
-  public PubSubSmallBenchmarkConfiguration(final boolean shouldUseChannelPattern) {
-    this.shouldUseChannelPattern = shouldUseChannelPattern;
-  }
-
-  @Override
-  public boolean shouldUseChannelPattern() {
-    return shouldUseChannelPattern;
-  }
-
-  @Override
-  public String getEndMessage() {
-    return END_MESSAGE;
-  }
-
-  @Override
-  public CyclicBarrier getCyclicBarrier() {
-    return BARRIER;
-  }
-
-  @Override
-  public int getNumSubscribers() {
-    return NUM_SUBSCRIBERS;
-  }
-
-  @Override
-  public int getNumChannels() {
-    return NUM_CHANNELS;
-  }
-
-  @Override
-  public int getNumMessagesPerChannelOperation() {
-    return NUM_MESSAGES_PER_CHANNEL_OPERATION;
-  }
-
-  @Override
-  public int getMessageLength() {
-    return MESSAGE_LENGTH;
-  }
-
-  @Override
-  public String getControlChannel() {
-    return CONTROL_CHANNEL;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisBenchmark.java
deleted file mode 100644
index ffd079e..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisBenchmark.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static com.google.common.base.Strings.isNullOrEmpty;
-import static java.lang.Long.getLong;
-import static org.apache.geode.benchmark.Config.after;
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.redis.tests.RedisBenchmark.RedisClientImplementation.Jedis;
-import static org.apache.geode.benchmark.redis.tests.RedisBenchmark.RedisClusterImplementation.Geode;
-import static org.apache.geode.benchmark.redis.tests.RedisBenchmark.RedisClusterImplementation.Manual;
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_MAX_KEY;
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_MIN_KEY;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.junit.jupiter.api.Test;
-
-import org.apache.geode.benchmark.LongRange;
-import org.apache.geode.benchmark.redis.tasks.FlushDbTask;
-import org.apache.geode.benchmark.redis.tasks.JedisClientManager;
-import org.apache.geode.benchmark.redis.tasks.LettuceClientManager;
-import org.apache.geode.benchmark.redis.tasks.RedisClientManager;
-import org.apache.geode.benchmark.redis.tasks.StartRedisClient;
-import org.apache.geode.benchmark.redis.tasks.StopRedisClient;
-import org.apache.geode.benchmark.redis.topology.GeodeTopology;
-import org.apache.geode.benchmark.redis.topology.ManualRedisTopology;
-import org.apache.geode.benchmark.redis.topology.RedisTopology;
-import org.apache.geode.benchmark.tests.AbstractPerformanceTest;
-import org.apache.geode.benchmark.tests.GeodeBenchmark;
-import org.apache.geode.perftest.TestConfig;
-import org.apache.geode.perftest.TestRunners;
-
-public class RedisBenchmark extends AbstractPerformanceTest {
-
-  public static final String WITH_REDIS_CLIENT_PROPERTY = "benchmark.withRedisClient";
-  public static final String WITH_REDIS_CLUSTER_PROPERTY = "benchmark.withRedisCluster";
-
-  public static final String REDIS_SERVERS_ATTRIBUTE = "RedisBenchmark.Servers";
-
-  public enum RedisClientImplementation {
-    Jedis,
-    Lettuce;
-
-    public static RedisClientImplementation valueOfIgnoreCase(final String name) {
-      for (RedisClientImplementation redisClientImplementation : RedisClientImplementation
-          .values()) {
-        if (redisClientImplementation.name().equalsIgnoreCase(name)) {
-          return redisClientImplementation;
-        }
-      }
-      throw new IllegalArgumentException("Unknown Redis client implementation: " + name);
-    }
-  }
-
-  public enum RedisClusterImplementation {
-    Geode,
-    Redis,
-    Manual;
-
-    public static RedisClusterImplementation valueOfIgnoreCase(final String name) {
-      for (RedisClusterImplementation redisClusterImplementation : RedisClusterImplementation
-          .values()) {
-        if (redisClusterImplementation.name().equalsIgnoreCase(name)) {
-          return redisClusterImplementation;
-        }
-      }
-      throw new IllegalArgumentException("Unknown Redis cluster implementation: " + name);
-    }
-  }
-
-  protected transient RedisClientManager redisClientManager;
-
-  protected LongRange keyRange =
-      new LongRange(getLong(WITH_MIN_KEY, 0), getLong(WITH_MAX_KEY, 1000000));
-
-  public void setKeyRange(final LongRange keyRange) {
-    this.keyRange = keyRange;
-  }
-
-  @Test
-  public void run() throws Exception {
-    TestRunners.defaultRunner().runTest(this);
-  }
-
-  @Override
-  public TestConfig configure() {
-
-    TestConfig config = GeodeBenchmark.createConfig();
-
-    configureClusterTopology(config);
-
-    switch (getRedisClientImplementation()) {
-      case Jedis:
-        redisClientManager = new JedisClientManager();
-        break;
-      case Lettuce:
-        redisClientManager = new LettuceClientManager();
-        break;
-    }
-
-    before(config, new StartRedisClient(redisClientManager), CLIENT);
-
-    if (Manual == getRedisClusterImplementation()) {
-      before(config, new FlushDbTask(redisClientManager), CLIENT);
-    }
-
-    after(config, new StopRedisClient(redisClientManager), CLIENT);
-
-    return config;
-  }
-
-  void configureClusterTopology(final TestConfig config) {
-    switch (getRedisClusterImplementation()) {
-      case Redis:
-        RedisTopology.configure(config);
-        break;
-      case Geode:
-        GeodeTopology.configure(config);
-        break;
-      case Manual:
-        ManualRedisTopology.configure(config);
-        break;
-    }
-  }
-
-  RedisClientImplementation getRedisClientImplementation() {
-    final String sniProp = System.getProperty(WITH_REDIS_CLIENT_PROPERTY);
-    if (isNullOrEmpty(sniProp)) {
-      return Jedis;
-    }
-
-    return RedisClientImplementation.valueOfIgnoreCase(sniProp);
-  }
-
-  RedisClusterImplementation getRedisClusterImplementation() {
-    final String sniProp = System.getProperty(WITH_REDIS_CLUSTER_PROPERTY);
-    if (isNullOrEmpty(sniProp)) {
-      return Geode;
-    }
-
-    return RedisClusterImplementation.valueOfIgnoreCase(sniProp);
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisGetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisGetBenchmark.java
deleted file mode 100644
index 23963ec..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisGetBenchmark.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.GetRedisTask;
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedis;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisGetBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedis(redisClientManager, keyRange), CLIENT);
-    workload(config, new GetRedisTask(redisClientManager, keyRange, isValidationEnabled()), CLIENT);
-    return config;
-
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHgetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHgetBenchmark.java
deleted file mode 100644
index 8f40a46..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHgetBenchmark.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.HgetRedisTask;
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisHash;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisHgetBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisHash(redisClientManager, keyRange), CLIENT);
-    workload(config, new HgetRedisTask(redisClientManager, keyRange, isValidationEnabled()),
-        CLIENT);
-    return config;
-
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetAndHgetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetAndHgetBenchmark.java
deleted file mode 100644
index 7d8f87e..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetAndHgetBenchmark.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.HgetRedisTask;
-import org.apache.geode.benchmark.redis.tasks.HsetRedisTask;
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisHash;
-import org.apache.geode.benchmark.tasks.CompositeTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisHsetAndHgetBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisHash(redisClientManager, keyRange), CLIENT);
-
-    workload(config, new CompositeTask(
-        new HsetRedisTask(redisClientManager, keyRange),
-        new HgetRedisTask(redisClientManager, keyRange, false)), CLIENT);
-
-    return config;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetBenchmark.java
deleted file mode 100644
index 0b59142..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetBenchmark.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.HsetRedisTask;
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisHash;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisHsetBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisHash(redisClientManager, keyRange), CLIENT);
-    workload(config, new HsetRedisTask(redisClientManager, keyRange),
-        CLIENT);
-    return config;
-
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubLargeBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubLargeBenchmark.java
deleted file mode 100644
index 1eab809..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubLargeBenchmark.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.geode.benchmark.redis.tests;
-
-import org.junit.jupiter.api.Disabled;
-
-import org.apache.geode.benchmark.tests.GeodeBenchmark;
-import org.apache.geode.perftest.TestConfig;
-
-@Disabled("Disabled due to high variation in average latency")
-public class RedisPubSubLargeBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig testConfig = GeodeBenchmark.createConfig();
-    final PubSubBenchmarkConfiguration pubSubConfig = new PubSubLargeBenchmarkConfiguration();
-    pubSubConfig.configurePubSubTest(this, testConfig);
-    return testConfig;
-  }
-
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubPatternLargeBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubPatternLargeBenchmark.java
deleted file mode 100644
index dad999e..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubPatternLargeBenchmark.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.geode.benchmark.redis.tests;
-
-import org.junit.jupiter.api.Disabled;
-
-import org.apache.geode.benchmark.tests.GeodeBenchmark;
-import org.apache.geode.perftest.TestConfig;
-
-@Disabled("Disabled due to high variation in average latency")
-public class RedisPubSubPatternLargeBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig testConfig = GeodeBenchmark.createConfig();
-    final PubSubBenchmarkConfiguration pubSubConfig = new PubSubLargeBenchmarkConfiguration(true);
-    pubSubConfig.configurePubSubTest(this, testConfig);
-    return testConfig;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubPatternSmallBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubPatternSmallBenchmark.java
deleted file mode 100644
index 8c557ee..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubPatternSmallBenchmark.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.geode.benchmark.redis.tests;
-
-import org.junit.jupiter.api.Disabled;
-
-import org.apache.geode.benchmark.tests.GeodeBenchmark;
-import org.apache.geode.perftest.TestConfig;
-
-@Disabled("Disabled due to high variation in average latency")
-public class RedisPubSubPatternSmallBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig testConfig = GeodeBenchmark.createConfig();
-    final PubSubBenchmarkConfiguration pubSubConfig = new PubSubSmallBenchmarkConfiguration(true);
-    pubSubConfig.configurePubSubTest(this, testConfig);
-    return testConfig;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubSmallBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubSmallBenchmark.java
deleted file mode 100644
index 92d9bde..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisPubSubSmallBenchmark.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import org.junit.jupiter.api.Disabled;
-
-import org.apache.geode.benchmark.tests.GeodeBenchmark;
-import org.apache.geode.perftest.TestConfig;
-
-@Disabled("Disabled due to high variation in average latency")
-public class RedisPubSubSmallBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig testConfig = GeodeBenchmark.createConfig();
-    final PubSubSmallBenchmarkConfiguration pubsubConfig = new PubSubSmallBenchmarkConfiguration();
-    pubsubConfig.configurePubSubTest(this, testConfig);
-    return testConfig;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisSetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisSetBenchmark.java
deleted file mode 100644
index a5e4eff..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisSetBenchmark.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedis;
-import org.apache.geode.benchmark.redis.tasks.SetRedisTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisSetBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedis(redisClientManager, keyRange), CLIENT);
-    workload(config, new SetRedisTask(redisClientManager, keyRange, isValidationEnabled()), CLIENT);
-    return config;
-
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisWeightedHsetAndHgetBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisWeightedHsetAndHgetBenchmark.java
deleted file mode 100644
index 635a0b1..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisWeightedHsetAndHgetBenchmark.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.HgetRedisTask;
-import org.apache.geode.benchmark.redis.tasks.HsetRedisTask;
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisHash;
-import org.apache.geode.benchmark.tasks.WeightedTasks;
-import org.apache.geode.benchmark.tasks.WeightedTasks.WeightedTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisWeightedHsetAndHgetBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisHash(redisClientManager, keyRange), CLIENT);
-
-    workload(config, new WeightedTasks(
-        new WeightedTask(20, new HsetRedisTask(redisClientManager, keyRange)),
-        new WeightedTask(80, new HgetRedisTask(redisClientManager, keyRange, false))), CLIENT);
-
-    return config;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisWeightedZaddAndZrangeBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisWeightedZaddAndZrangeBenchmark.java
deleted file mode 100644
index 0838ab7..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisWeightedZaddAndZrangeBenchmark.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisSortedSet;
-import org.apache.geode.benchmark.redis.tasks.ZaddRedisTask;
-import org.apache.geode.benchmark.redis.tasks.ZrangeRedisTask;
-import org.apache.geode.benchmark.tasks.WeightedTasks;
-import org.apache.geode.benchmark.tasks.WeightedTasks.WeightedTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisWeightedZaddAndZrangeBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisSortedSet(redisClientManager, keyRange), CLIENT);
-
-    workload(config, new WeightedTasks(
-        new WeightedTask(20, new ZaddRedisTask(redisClientManager, keyRange)),
-        new WeightedTask(80, new ZrangeRedisTask(redisClientManager, keyRange, false))), CLIENT);
-
-    return config;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZaddAndZremBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZaddAndZremBenchmark.java
deleted file mode 100644
index b347548..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZaddAndZremBenchmark.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisSortedSet;
-import org.apache.geode.benchmark.redis.tasks.ZaddAndZremRedisTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisZaddAndZremBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisSortedSet(redisClientManager, keyRange), CLIENT);
-    workload(config, new ZaddAndZremRedisTask(redisClientManager, keyRange),
-        CLIENT);
-    return config;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZaddBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZaddBenchmark.java
deleted file mode 100644
index 6d3bd1f..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZaddBenchmark.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisSortedSet;
-import org.apache.geode.benchmark.redis.tasks.ZaddRedisTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisZaddBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisSortedSet(redisClientManager, keyRange), CLIENT);
-    workload(config, new ZaddRedisTask(redisClientManager, keyRange),
-        CLIENT);
-    return config;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZrangeBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZrangeBenchmark.java
deleted file mode 100644
index c2474af..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZrangeBenchmark.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisSortedSet;
-import org.apache.geode.benchmark.redis.tasks.ZrangeRedisTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisZrangeBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisSortedSet(redisClientManager, keyRange), CLIENT);
-    workload(config, new ZrangeRedisTask(redisClientManager, keyRange, isValidationEnabled()),
-        CLIENT);
-    return config;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZrangeByScoreBenchmark.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZrangeByScoreBenchmark.java
deleted file mode 100644
index 8ec26ec..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisZrangeByScoreBenchmark.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.workload;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import org.apache.geode.benchmark.redis.tasks.PrePopulateRedisSortedSet;
-import org.apache.geode.benchmark.redis.tasks.ZrangeByScoreRedisTask;
-import org.apache.geode.perftest.TestConfig;
-
-public class RedisZrangeByScoreBenchmark extends RedisBenchmark {
-
-  @Override
-  public TestConfig configure() {
-    final TestConfig config = super.configure();
-
-    before(config, new PrePopulateRedisSortedSet(redisClientManager, keyRange), CLIENT);
-    workload(config,
-        new ZrangeByScoreRedisTask(redisClientManager, keyRange, isValidationEnabled()),
-        CLIENT);
-    return config;
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/GeodeTopology.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/GeodeTopology.java
deleted file mode 100644
index 2df3097..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/GeodeTopology.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.topology;
-
-import static org.apache.geode.benchmark.Config.after;
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.role;
-import static org.apache.geode.benchmark.topology.Ports.EPHEMERAL_PORT;
-import static org.apache.geode.benchmark.topology.Ports.LOCATOR_PORT;
-import static org.apache.geode.benchmark.topology.Ports.REDIS_PORT;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-import static org.apache.geode.benchmark.topology.Roles.LOCATOR;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-
-import org.apache.geode.benchmark.redis.parameters.GeodeParameters;
-import org.apache.geode.benchmark.redis.parameters.NettyParameters;
-import org.apache.geode.benchmark.redis.tasks.InitRedisServersAttribute;
-import org.apache.geode.benchmark.redis.tasks.InitRegion;
-import org.apache.geode.benchmark.redis.tasks.StartGeodeServer;
-import org.apache.geode.benchmark.tasks.StartLocator;
-import org.apache.geode.benchmark.tasks.StopLocator;
-import org.apache.geode.benchmark.tasks.StopServer;
-import org.apache.geode.benchmark.topology.Topology;
-import org.apache.geode.perftest.TestConfig;
-
-public class GeodeTopology extends Topology {
-  private static final int NUM_LOCATORS = Integer.getInteger(WITH_LOCATOR_COUNT_PROPERTY, 1);
-  private static final int NUM_SERVERS = Integer.getInteger(WITH_SERVER_COUNT_PROPERTY, 6);
-  private static final int NUM_CLIENTS = Integer.getInteger(WITH_CLIENT_COUNT_PROPERTY, 1);
-
-  public static void configure(TestConfig config) {
-    role(config, LOCATOR, NUM_LOCATORS);
-    role(config, SERVER, NUM_SERVERS);
-    role(config, CLIENT, NUM_CLIENTS);
-
-    configureCommon(config);
-
-    NettyParameters.configure(config);
-    GeodeParameters.configure(config);
-
-    before(config, new StartLocator(LOCATOR_PORT), LOCATOR);
-    before(config, new StartGeodeServer(LOCATOR_PORT, EPHEMERAL_PORT, REDIS_PORT), SERVER);
-    before(config, new InitRegion(), SERVER);
-    before(config, new InitRedisServersAttribute(), CLIENT);
-
-    after(config, new StopServer(), SERVER);
-    after(config, new StopLocator(), LOCATOR);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopology.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopology.java
deleted file mode 100644
index 2074d74..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopology.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.topology;
-
-import static java.lang.Integer.parseInt;
-import static java.util.Arrays.stream;
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.role;
-import static org.apache.geode.benchmark.topology.Ports.REDIS_PORT;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-
-import java.net.InetSocketAddress;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.apache.geode.benchmark.redis.tasks.InitRedisServersAttribute;
-import org.apache.geode.benchmark.topology.Topology;
-import org.apache.geode.perftest.TestConfig;
-
-public class ManualRedisTopology extends Topology {
-  private static final int NUM_CLIENTS = Integer.getInteger(WITH_CLIENT_COUNT_PROPERTY, 1);
-
-  public static final String WITH_REDIS_SERVERS_PROPERTY = "benchmark.withRedisServers";
-
-  public static void configure(TestConfig config) {
-    role(config, CLIENT, NUM_CLIENTS);
-
-    configureCommon(config);
-
-    // Elasticache DNS is flaky so don't cache any of it.
-    config.jvmArgs(CLIENT.name(), "-Dsun.net.inetaddr.ttl=0", "-Dsun.net.inetaddr.negative.ttl=0");
-
-    final String serversProperty = System.getProperty(WITH_REDIS_SERVERS_PROPERTY);
-    if (null == serversProperty || serversProperty.trim().isEmpty()) {
-      throw new IllegalArgumentException(
-          WITH_REDIS_SERVERS_PROPERTY + " must be set to server address(es).");
-    }
-
-    final List<InetSocketAddress> servers = stream(serversProperty.split(";")).map(s -> {
-      final String[] addressParts = s.split(":");
-      return InetSocketAddress.createUnresolved(addressParts[0],
-          addressParts.length == 1 ? REDIS_PORT : parseInt(addressParts[1]));
-    }).collect(Collectors.toList());
-
-    before(config, new InitRedisServersAttribute(servers), CLIENT);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/RedisTopology.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/RedisTopology.java
deleted file mode 100644
index 4c18fd0..0000000
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/RedisTopology.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.topology;
-
-import static java.lang.Integer.getInteger;
-import static org.apache.geode.benchmark.Config.after;
-import static org.apache.geode.benchmark.Config.before;
-import static org.apache.geode.benchmark.Config.role;
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_REPLICAS;
-import static org.apache.geode.benchmark.topology.Roles.CLIENT;
-import static org.apache.geode.benchmark.topology.Roles.LOCATOR;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-
-import org.apache.geode.benchmark.redis.tasks.CreateRedisCluster;
-import org.apache.geode.benchmark.redis.tasks.InitRedisServersAttribute;
-import org.apache.geode.benchmark.redis.tasks.StartRedisServer;
-import org.apache.geode.benchmark.redis.tasks.StopRedisServer;
-import org.apache.geode.benchmark.topology.Topology;
-import org.apache.geode.perftest.TestConfig;
-
-/**
- * Redis running in containers on the provided servers.
- *
- * Locators hosts are wasted so that Redis server placement happens on the same hosts as Geode.
- */
-public class RedisTopology extends Topology {
-  private static final int NUM_LOCATORS = Integer.getInteger(WITH_LOCATOR_COUNT_PROPERTY, 1);
-  private static final int NUM_SERVERS = Integer.getInteger(WITH_SERVER_COUNT_PROPERTY, 6);
-  private static final int NUM_CLIENTS = Integer.getInteger(WITH_CLIENT_COUNT_PROPERTY, 1);
-
-  public static void configure(TestConfig config) {
-    role(config, LOCATOR, NUM_LOCATORS);
-    role(config, SERVER, NUM_SERVERS);
-    role(config, CLIENT, NUM_CLIENTS);
-
-    configureCommon(config);
-
-    before(config, new StartRedisServer(), SERVER);
-    before(config, new CreateRedisCluster(getInteger(WITH_REPLICAS, 1)), CLIENT);
-    before(config, new InitRedisServersAttribute(), CLIENT);
-
-    after(config, new StopRedisServer(), SERVER);
-  }
-}
diff --git a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/Ports.java b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/Ports.java
index 0dc90df..41da7f1 100644
--- a/geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/Ports.java
+++ b/geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/Ports.java
@@ -34,10 +34,4 @@
    * The SNI proxy port.
    */
   public static final int SNI_PROXY_PORT = 15443;
-
-  /**
-   * Default Redis port.
-   */
-  public static final int REDIS_PORT = 6379;
-
 }
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/tests/RedisBenchmarkTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/tests/RedisBenchmarkTest.java
deleted file mode 100644
index 3cbc5cd..0000000
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/tests/RedisBenchmarkTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.tests;
-
-import static java.lang.System.setProperty;
-import static org.apache.geode.benchmark.redis.tests.RedisBenchmark.WITH_REDIS_CLIENT_PROPERTY;
-import static org.apache.geode.benchmark.topology.Topology.WITH_SERVER_COUNT_PROPERTY;
-
-import java.io.File;
-
-import org.junit.jupiter.api.io.TempDir;
-import org.junitpioneer.jupiter.CartesianEnumSource;
-import org.junitpioneer.jupiter.CartesianProductTest;
-import org.junitpioneer.jupiter.ClearSystemProperty;
-import org.junitpioneer.jupiter.SetSystemProperty;
-
-import org.apache.geode.benchmark.LongRange;
-import org.apache.geode.benchmark.junit.CartesianSubclassSource;
-import org.apache.geode.benchmark.junit.EnableIfClassExists;
-import org.apache.geode.benchmark.redis.tests.RedisBenchmark.RedisClientImplementation;
-import org.apache.geode.perftest.TestRunners;
-
-@EnableIfClassExists("org.apache.geode.redis.internal.GeodeRedisServer")
-public class RedisBenchmarkTest {
-
-  @TempDir()
-  File folder;
-
-  @CartesianProductTest()
-  @CartesianEnumSource(RedisClientImplementation.class)
-  @CartesianSubclassSource(RedisBenchmark.class)
-  @ClearSystemProperty(key = WITH_REDIS_CLIENT_PROPERTY)
-  @SetSystemProperty(key = WITH_SERVER_COUNT_PROPERTY, value = "1")
-  public void benchmarkRunsSuccessfully(final RedisClientImplementation redisClientImplementation,
-      final Class<? extends RedisBenchmark> redisBenchmark)
-      throws Exception {
-    setProperty(WITH_REDIS_CLIENT_PROPERTY, redisClientImplementation.name());
-
-    final RedisBenchmark test = redisBenchmark.newInstance();
-    test.setKeyRange(new LongRange(0, 100));
-    test.setValidationEnabled(true);
-
-    TestRunners.minimalRunner(folder).runTest(test);
-  }
-}
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/GeodeTopologyTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/GeodeTopologyTest.java
deleted file mode 100644
index 455bf7d..0000000
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/GeodeTopologyTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.topology;
-
-import static org.apache.geode.benchmark.redis.parameters.NettyParameters.WITH_NETTY_THREADS;
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_BUCKETS;
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_REPLICAS;
-import static org.apache.geode.benchmark.topology.Roles.SERVER;
-import static org.assertj.core.api.Assertions.assertThat;
-
-import org.junit.jupiter.api.Test;
-import org.junitpioneer.jupiter.ClearSystemProperty;
-import org.junitpioneer.jupiter.SetSystemProperty;
-
-import org.apache.geode.perftest.TestConfig;
-
-public class GeodeTopologyTest {
-
-  @Test
-  @ClearSystemProperty(key = WITH_REPLICAS)
-  @ClearSystemProperty(key = WITH_BUCKETS)
-  @ClearSystemProperty(key = WITH_NETTY_THREADS)
-  public void setsDefaultJvmArgs() {
-    final TestConfig testConfig = new TestConfig();
-    GeodeTopology.configure(testConfig);
-
-    assertThat(testConfig.getJvmArgs().get(SERVER.name()))
-        .contains("-Denable-unsupported-commands=true", "-Dredis.replicas=1",
-            "-Dredis.region.buckets=128", "-Djava.lang.Integer.IntegerCache.high=128")
-        .doesNotContainSubsequence("-Dio.netty.eventLoopThreads=");
-  }
-
-  @Test
-  @SetSystemProperty(key = WITH_REPLICAS, value = "3")
-  public void setsReplicas() {
-    final TestConfig testConfig = new TestConfig();
-    GeodeTopology.configure(testConfig);
-
-    assertThat(testConfig.getJvmArgs().get(SERVER.name())).contains("-Dredis.replicas=3");
-  }
-
-  @Test
-  @SetSystemProperty(key = WITH_BUCKETS, value = "123")
-  public void setsBuckets() {
-    final TestConfig testConfig = new TestConfig();
-    GeodeTopology.configure(testConfig);
-
-    assertThat(testConfig.getJvmArgs().get(SERVER.name()))
-        .contains("-Dredis.region.buckets=123", "-Djava.lang.Integer.IntegerCache.high=123");
-  }
-
-  @Test
-  @SetSystemProperty(key = WITH_NETTY_THREADS, value = "3")
-  public void setsNettyThreads() {
-    final TestConfig testConfig = new TestConfig();
-    GeodeTopology.configure(testConfig);
-
-    assertThat(testConfig.getJvmArgs().get(SERVER.name()))
-        .contains("-Dio.netty.eventLoopThreads=3");
-  }
-
-}
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopologyTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopologyTest.java
deleted file mode 100644
index 5326607..0000000
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopologyTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.topology;
-
-import static java.net.InetSocketAddress.createUnresolved;
-import static org.apache.geode.benchmark.redis.topology.ManualRedisTopology.WITH_REDIS_SERVERS_PROPERTY;
-import static org.apache.geode.benchmark.topology.Ports.REDIS_PORT;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-
-import org.junit.jupiter.api.Test;
-import org.junitpioneer.jupiter.ClearSystemProperty;
-import org.junitpioneer.jupiter.SetSystemProperty;
-
-import org.apache.geode.benchmark.redis.tasks.InitRedisServersAttribute;
-import org.apache.geode.perftest.TestConfig;
-import org.apache.geode.perftest.TestStep;
-
-public class ManualRedisTopologyTest {
-
-  @Test
-  @SetSystemProperty(key = WITH_REDIS_SERVERS_PROPERTY, value = "a")
-  public void configureWithOneServer() {
-    final TestConfig testConfig = new TestConfig();
-    ManualRedisTopology.configure(testConfig);
-    assertThat(testConfig.getBefore().stream().map(TestStep::getTask)
-        .filter(InitRedisServersAttribute.class::isInstance)
-        .map(InitRedisServersAttribute.class::cast)
-        .findFirst()).hasValueSatisfying(t -> assertThat(t.getServers()).containsExactly(
-            createUnresolved("a", REDIS_PORT)));
-  }
-
-  @Test
-  @SetSystemProperty(key = WITH_REDIS_SERVERS_PROPERTY, value = "a;b;c")
-  public void configureWithMultipleServers() {
-    final TestConfig testConfig = new TestConfig();
-    ManualRedisTopology.configure(testConfig);
-    assertThat(testConfig.getBefore().stream().map(TestStep::getTask)
-        .filter(InitRedisServersAttribute.class::isInstance)
-        .map(InitRedisServersAttribute.class::cast)
-        .findFirst()).hasValueSatisfying(t -> assertThat(t.getServers()).containsExactly(
-            createUnresolved("a", REDIS_PORT), createUnresolved("b", REDIS_PORT),
-            createUnresolved("c", REDIS_PORT)));
-  }
-
-  @Test
-  @SetSystemProperty(key = WITH_REDIS_SERVERS_PROPERTY, value = "a:1;b:2;c:3")
-  public void configureWithMultipleServersWithHostsAndPorts() {
-    final TestConfig testConfig = new TestConfig();
-    ManualRedisTopology.configure(testConfig);
-    assertThat(testConfig.getBefore().stream().map(TestStep::getTask)
-        .filter(InitRedisServersAttribute.class::isInstance)
-        .map(InitRedisServersAttribute.class::cast)
-        .findFirst()).hasValueSatisfying(t -> assertThat(t.getServers()).containsExactly(
-            createUnresolved("a", 1), createUnresolved("b", 2),
-            createUnresolved("c", 3)));
-  }
-
-  @Test
-  @ClearSystemProperty(key = WITH_REDIS_SERVERS_PROPERTY)
-  public void configureWithNoServersThrows() {
-    final TestConfig testConfig = new TestConfig();
-    assertThatThrownBy(() -> ManualRedisTopology.configure(testConfig))
-        .isInstanceOf(IllegalArgumentException.class);
-  }
-
-  @Test
-  @SetSystemProperty(key = WITH_REDIS_SERVERS_PROPERTY, value = "")
-  public void configureWithNoEmptyThrows() {
-    final TestConfig testConfig = new TestConfig();
-    assertThatThrownBy(() -> ManualRedisTopology.configure(testConfig))
-        .isInstanceOf(IllegalArgumentException.class);
-  }
-
-}
diff --git a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/RedisTopologyTest.java b/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/RedisTopologyTest.java
deleted file mode 100644
index f83ef2a..0000000
--- a/geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/RedisTopologyTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package org.apache.geode.benchmark.redis.topology;
-
-import static org.apache.geode.benchmark.tests.GeodeBenchmark.WITH_REPLICAS;
-import static org.assertj.core.api.Assertions.assertThat;
-
-import org.junit.jupiter.api.Test;
-import org.junitpioneer.jupiter.ClearSystemProperty;
-import org.junitpioneer.jupiter.SetSystemProperty;
-
-import org.apache.geode.benchmark.redis.tasks.CreateRedisCluster;
-import org.apache.geode.perftest.TestConfig;
-import org.apache.geode.perftest.TestStep;
-
-public class RedisTopologyTest {
-
-  @Test
-  @ClearSystemProperty(key = WITH_REPLICAS)
-  public void createRedisClusterDefaultReplicas() {
-    final TestConfig testConfig = new TestConfig();
-    RedisTopology.configure(testConfig);
-    assertThat(testConfig.getBefore().stream().map(TestStep::getTask)
-        .filter(CreateRedisCluster.class::isInstance).map(CreateRedisCluster.class::cast)
-        .findFirst()).hasValueSatisfying(t -> assertThat(t.getReplicas()).isEqualTo(1));
-  }
-
-  @Test
-  @SetSystemProperty(key = WITH_REPLICAS, value = "3")
-  public void createRedisClusterSetsReplicas() {
-    final TestConfig testConfig = new TestConfig();
-    RedisTopology.configure(testConfig);
-    assertThat(testConfig.getBefore().stream().map(TestStep::getTask)
-        .filter(CreateRedisCluster.class::isInstance).map(CreateRedisCluster.class::cast)
-        .findFirst()).hasValueSatisfying(t -> assertThat(t.getReplicas()).isEqualTo(3));
-  }
-
-}
diff --git a/gradle/dependency-versions.properties b/gradle/dependency-versions.properties
index 7e7f35b..58be754 100644
--- a/gradle/dependency-versions.properties
+++ b/gradle/dependency-versions.properties
@@ -27,7 +27,4 @@
 assertj-core.version = 3.19.0
 software-amazon-awssdk.version = 2.16.60
 JSON.version = 20210307
-jedis.version = 4.1.1
-lettuce.version = 6.1.1.RELEASE
 classgraph.version = 4.8.105
-vavr.version = 1.0.0-alpha-4