Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pool extends GenericObjectPool #2521

Merged
merged 5 commits into from
Jul 2, 2021
Merged

Pool extends GenericObjectPool #2521

merged 5 commits into from
Jul 2, 2021

Conversation

sazzad16
Copy link
Collaborator

@sazzad16 sazzad16 commented Apr 22, 2021

Resolves #1828
Closes #2064
Closes #2054
Resolves #2197

By making Pool to extend GenericObjectPool, we can get rid of all the GenericObjectPool specific feature requests. Also, any future GenericObjectPool feature would be readily available in Pool without any sweat.

@sazzad16 sazzad16 added this to the 4.0.0 milestone Apr 22, 2021
@sazzad16 sazzad16 requested review from gkorland and dengliming April 23, 2021 06:35
@sazzad16 sazzad16 force-pushed the pool-extend branch 2 times, most recently from 3789d5a to f2c4062 Compare May 14, 2021 12:19
@sazzad16 sazzad16 requested a review from gkorland May 17, 2021 07:28
@sazzad16 sazzad16 requested a review from gkorland June 27, 2021 15:55
@sazzad16 sazzad16 merged commit 2bceff0 into redis:master Jul 2, 2021
@sazzad16 sazzad16 deleted the pool-extend branch July 2, 2021 13:52
sazzad16 added a commit to sazzad16/jedis that referenced this pull request Jul 2, 2021
sazzad16 added a commit that referenced this pull request Jul 12, 2021
@sazzad16 sazzad16 mentioned this pull request Jan 19, 2022
@chayim chayim mentioned this pull request Jun 2, 2022
j-sandy added a commit to j-sandy/kork that referenced this pull request Dec 5, 2024
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Unpinning okhttp and rest-assured, as spring boot [3.0.13](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/3.0.13/spring-boot-dependencies-3.0.13.pom) brings okhttp 4.10.0 and rest-assured 5.2.1.

While upgrading the spring boot and spring cloud, encountered the below errors during build process of kork-jedis module:
```
> Task :kork-jedis:compileJava FAILED
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:23: error: cannot find symbol
import redis.clients.jedis.ScanParams;
                          ^
  symbol:   class ScanParams
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.ScanResult;
                          ^
  symbol:   class ScanResult
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:28: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:29: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:30: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:22: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:25: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:67: error: cannot find symbol
  public <R> R withMultiClient(Function<MultiKeyCommands, R> f) {
                                        ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:74: error: cannot find symbol
  public void withMultiClient(Consumer<MultiKeyCommands> f) {
                                       ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:81: error: cannot find symbol
  public <R> R withBinaryClient(Function<BinaryJedisCommands, R> f) {
                                         ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:88: error: cannot find symbol
  public void withBinaryClient(Consumer<BinaryJedisCommands> f) {
                                        ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:95: error: cannot find symbol
  public void withPipeline(Consumer<RedisPipeline> f) {
                                    ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:102: error: cannot find symbol
  public <R> R withPipeline(Function<RedisPipeline, R> f) {
                                     ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:109: error: cannot find symbol
  public void syncPipeline(RedisPipeline p) {
                           ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:162: error: cannot find symbol
  public void withScriptingClient(Consumer<ScriptingCommands> f) {
                                           ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:169: error: cannot find symbol
  public <R> R withScriptingClient(Function<ScriptingCommands, R> f) {
                                            ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:41: error: cannot find symbol
  <R> R withMultiClient(Function<MultiKeyCommands, R> f);
                                 ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:43: error: cannot find symbol
  void withMultiClient(Consumer<MultiKeyCommands> f);
                                ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:45: error: cannot find symbol
  <R> R withBinaryClient(Function<BinaryJedisCommands, R> f);
                                  ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:47: error: cannot find symbol
  void withBinaryClient(Consumer<BinaryJedisCommands> f);
                                 ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:49: error: cannot find symbol
  void withPipeline(Consumer<RedisPipeline> f);
                             ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:51: error: cannot find symbol
  <R> R withPipeline(Function<RedisPipeline, R> f);
                              ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:53: error: cannot find symbol
  void syncPipeline(RedisPipeline p);
                    ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:69: error: cannot find symbol
  void withScriptingClient(Consumer<ScriptingCommands> f);
                                    ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:71: error: cannot find symbol
  <R> R withScriptingClient(Function<ScriptingCommands, R> f);
                                     ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:107: error: cannot find symbol
  public void setClient(Client client) {
                        ^
  symbol:   class Client
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:386: error: cannot find symbol
  public Response<Long> sort(String key, SortingParams sortingParameters, String dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:392: error: cannot find symbol
  public Response<Long> sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:458: error: cannot find symbol
  public Response<Long> zinterstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:464: error: cannot find symbol
  public Response<Long> zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:482: error: cannot find symbol
  public Response<Long> zunionstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:488: error: cannot find symbol
  public Response<Long> zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:626: error: cannot find symbol
  public Response<Long> bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:632: error: cannot find symbol
  public Response<Long> bitop(BitOP op, String destKey, String... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:916: error: cannot find symbol
  public Response<Long> bitpos(String key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:928: error: cannot find symbol
  public Response<Long> bitpos(byte[] key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1414: error: cannot find symbol
  public Response<List<String>> sort(String key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1420: error: cannot find symbol
  public Response<List<byte[]>> sort(byte[] key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1708: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1714: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, String min, String max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1720: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1726: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1732: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1740: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1748: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1756: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1816: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1822: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, String max, String min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1828: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1834: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1840: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1848: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1856: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1864: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1872: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1878: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1956: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1962: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2346: error: cannot find symbol
  public Response<Double> geodist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2358: error: cannot find symbol
  public Response<Double> geodist(String key, String member1, String member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2389: error: cannot find symbol
      byte[] key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2388: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2400: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2395: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2409: error: cannot find symbol
      String key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2408: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2420: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2415: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2429: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2428: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2436: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2435: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2444: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2443: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2451: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2450: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:33: error: cannot find symbol
import redis.clients.jedis.util.Slowlog;
                               ^
  symbol:   class Slowlog
  location: package redis.clients.jedis.util
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:599: error: cannot find symbol
  public Set<Tuple> zrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:605: error: cannot find symbol
  public Set<Tuple> zrevrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:635: error: cannot find symbol
  public List<String> sort(String key, SortingParams sortingParameters) {
                                       ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:659: error: cannot find symbol
  public Long sort(String key, SortingParams sortingParameters, String dstkey) {
                               ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:713: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:719: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, String min, String max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:725: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:733: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:759: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:765: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:773: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:787: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, String max, String min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:817: error: cannot find symbol
  public Long zunionstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:829: error: cannot find symbol
  public Long zinterstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:902: error: cannot find symbol
      final String key, final ListPosition where, final String pivot, final String value) {
                              ^
  symbol:   class ListPosition
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:951: error: cannot find symbol
  public Long bitpos(String key, boolean value, BitPosParams params) {
                                                ^
  symbol:   class BitPosParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1044: error: cannot find symbol
  public List<Slowlog> slowlogGet() {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1050: error: cannot find symbol
  public List<Slowlog> slowlogGet(long entries) {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1086: error: cannot find symbol
  public Long bitop(BitOP op, String destKey, String... srcKeys) {
                    ^
  symbol:   class BitOP
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1195: error: cannot find symbol
  public ScanResult<String> scan(String cursor) {
         ^
  symbol:   class ScanResult
  location: class InstrumentedJedis
100 errors
only showing the first 100 errors, of 166 total; use -Xmaxerrs if you would like to see more
```
The root cause of these errors is upgrade of `redis.clients:jedis` from 3.8.0 to 4.3.2 with spring boot upgrade from 2.x to 3.x.
In order to fix these issues, migrated jedis from 3.x to 4.x by following the migration [document](https://github.com/redis/jedis/blob/master/docs/3to4.md)
And for further changelogs, please refer [here](https://github.com/redis/jedis/releases/tag/v4.0.0)

Removed the reflection logic to check the `internalPool` field from `JedisPool` object, as `internalPool` field has been removed from Jedis [4.3.2](https://javadoc.io/static/redis.clients/jedis/4.3.2/redis/clients/jedis/util/Pool.html#internalPool) and `JedisPool` is sub class of `GenericObjectPool` from Jedis [4.0.0](redis/jedis#2521) onwards. So, refactoring the logic to check null value.
j-sandy added a commit to j-sandy/kork that referenced this pull request Dec 6, 2024
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Unpinning okhttp and rest-assured, as spring boot [3.0.13](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/3.0.13/spring-boot-dependencies-3.0.13.pom) brings okhttp 4.10.0 and rest-assured 5.2.1.

While upgrading the spring boot and spring cloud, encountered the below errors during build process of kork-jedis module:
```
> Task :kork-jedis:compileJava FAILED
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:23: error: cannot find symbol
import redis.clients.jedis.ScanParams;
                          ^
  symbol:   class ScanParams
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.ScanResult;
                          ^
  symbol:   class ScanResult
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:28: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:29: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:30: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:22: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:25: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:67: error: cannot find symbol
  public <R> R withMultiClient(Function<MultiKeyCommands, R> f) {
                                        ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:74: error: cannot find symbol
  public void withMultiClient(Consumer<MultiKeyCommands> f) {
                                       ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:81: error: cannot find symbol
  public <R> R withBinaryClient(Function<BinaryJedisCommands, R> f) {
                                         ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:88: error: cannot find symbol
  public void withBinaryClient(Consumer<BinaryJedisCommands> f) {
                                        ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:95: error: cannot find symbol
  public void withPipeline(Consumer<RedisPipeline> f) {
                                    ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:102: error: cannot find symbol
  public <R> R withPipeline(Function<RedisPipeline, R> f) {
                                     ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:109: error: cannot find symbol
  public void syncPipeline(RedisPipeline p) {
                           ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:162: error: cannot find symbol
  public void withScriptingClient(Consumer<ScriptingCommands> f) {
                                           ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:169: error: cannot find symbol
  public <R> R withScriptingClient(Function<ScriptingCommands, R> f) {
                                            ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:41: error: cannot find symbol
  <R> R withMultiClient(Function<MultiKeyCommands, R> f);
                                 ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:43: error: cannot find symbol
  void withMultiClient(Consumer<MultiKeyCommands> f);
                                ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:45: error: cannot find symbol
  <R> R withBinaryClient(Function<BinaryJedisCommands, R> f);
                                  ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:47: error: cannot find symbol
  void withBinaryClient(Consumer<BinaryJedisCommands> f);
                                 ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:49: error: cannot find symbol
  void withPipeline(Consumer<RedisPipeline> f);
                             ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:51: error: cannot find symbol
  <R> R withPipeline(Function<RedisPipeline, R> f);
                              ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:53: error: cannot find symbol
  void syncPipeline(RedisPipeline p);
                    ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:69: error: cannot find symbol
  void withScriptingClient(Consumer<ScriptingCommands> f);
                                    ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:71: error: cannot find symbol
  <R> R withScriptingClient(Function<ScriptingCommands, R> f);
                                     ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:107: error: cannot find symbol
  public void setClient(Client client) {
                        ^
  symbol:   class Client
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:386: error: cannot find symbol
  public Response<Long> sort(String key, SortingParams sortingParameters, String dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:392: error: cannot find symbol
  public Response<Long> sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:458: error: cannot find symbol
  public Response<Long> zinterstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:464: error: cannot find symbol
  public Response<Long> zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:482: error: cannot find symbol
  public Response<Long> zunionstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:488: error: cannot find symbol
  public Response<Long> zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:626: error: cannot find symbol
  public Response<Long> bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:632: error: cannot find symbol
  public Response<Long> bitop(BitOP op, String destKey, String... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:916: error: cannot find symbol
  public Response<Long> bitpos(String key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:928: error: cannot find symbol
  public Response<Long> bitpos(byte[] key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1414: error: cannot find symbol
  public Response<List<String>> sort(String key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1420: error: cannot find symbol
  public Response<List<byte[]>> sort(byte[] key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1708: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1714: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, String min, String max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1720: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1726: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1732: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1740: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1748: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1756: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1816: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1822: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, String max, String min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1828: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1834: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1840: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1848: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1856: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1864: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1872: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1878: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1956: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1962: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2346: error: cannot find symbol
  public Response<Double> geodist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2358: error: cannot find symbol
  public Response<Double> geodist(String key, String member1, String member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2389: error: cannot find symbol
      byte[] key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2388: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2400: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2395: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2409: error: cannot find symbol
      String key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2408: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2420: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2415: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2429: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2428: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2436: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2435: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2444: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2443: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2451: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2450: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:33: error: cannot find symbol
import redis.clients.jedis.util.Slowlog;
                               ^
  symbol:   class Slowlog
  location: package redis.clients.jedis.util
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:599: error: cannot find symbol
  public Set<Tuple> zrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:605: error: cannot find symbol
  public Set<Tuple> zrevrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:635: error: cannot find symbol
  public List<String> sort(String key, SortingParams sortingParameters) {
                                       ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:659: error: cannot find symbol
  public Long sort(String key, SortingParams sortingParameters, String dstkey) {
                               ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:713: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:719: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, String min, String max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:725: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:733: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:759: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:765: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:773: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:787: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, String max, String min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:817: error: cannot find symbol
  public Long zunionstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:829: error: cannot find symbol
  public Long zinterstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:902: error: cannot find symbol
      final String key, final ListPosition where, final String pivot, final String value) {
                              ^
  symbol:   class ListPosition
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:951: error: cannot find symbol
  public Long bitpos(String key, boolean value, BitPosParams params) {
                                                ^
  symbol:   class BitPosParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1044: error: cannot find symbol
  public List<Slowlog> slowlogGet() {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1050: error: cannot find symbol
  public List<Slowlog> slowlogGet(long entries) {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1086: error: cannot find symbol
  public Long bitop(BitOP op, String destKey, String... srcKeys) {
                    ^
  symbol:   class BitOP
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1195: error: cannot find symbol
  public ScanResult<String> scan(String cursor) {
         ^
  symbol:   class ScanResult
  location: class InstrumentedJedis
100 errors
only showing the first 100 errors, of 166 total; use -Xmaxerrs if you would like to see more
```
The root cause of these errors is upgrade of `redis.clients:jedis` from 3.8.0 to 4.3.2 with spring boot upgrade from 2.x to 3.x.
In order to fix these issues, migrated jedis from 3.x to 4.x by following the migration [document](https://github.com/redis/jedis/blob/master/docs/3to4.md)
And for further changelogs, please refer [here](https://github.com/redis/jedis/releases/tag/v4.0.0)

Removed the reflection logic to check the `internalPool` field from `JedisPool` object, as `internalPool` field has been removed from Jedis [4.3.2](https://javadoc.io/static/redis.clients/jedis/4.3.2/redis/clients/jedis/util/Pool.html#internalPool) and `JedisPool` is sub class of `GenericObjectPool` from Jedis [4.0.0](redis/jedis#2521) onwards. So, refactoring the logic to check null value.

In Jedis 4.x, default constructor of `Pipeline` class has be removed in lieu of parameterised constructor to obtain `Connection` object either directly passing `Connection` or `Jedis`, as discussed [here](redis/jedis#2693). So, updating the constructor by replacing the `Pipeline` with `Jedis`, and updated its usage in `InstrumentedJedis.pipelined()` method.
j-sandy added a commit to j-sandy/kork that referenced this pull request Dec 10, 2024
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Unpinning okhttp and rest-assured, as spring boot [3.0.13](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/3.0.13/spring-boot-dependencies-3.0.13.pom) brings okhttp 4.10.0 and rest-assured 5.2.1.

While upgrading the spring boot and spring cloud, encountered the below errors during build process of kork-jedis module:
```
> Task :kork-jedis:compileJava FAILED
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:23: error: cannot find symbol
import redis.clients.jedis.ScanParams;
                          ^
  symbol:   class ScanParams
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.ScanResult;
                          ^
  symbol:   class ScanResult
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:28: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:29: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:30: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:22: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:25: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:67: error: cannot find symbol
  public <R> R withMultiClient(Function<MultiKeyCommands, R> f) {
                                        ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:74: error: cannot find symbol
  public void withMultiClient(Consumer<MultiKeyCommands> f) {
                                       ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:81: error: cannot find symbol
  public <R> R withBinaryClient(Function<BinaryJedisCommands, R> f) {
                                         ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:88: error: cannot find symbol
  public void withBinaryClient(Consumer<BinaryJedisCommands> f) {
                                        ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:95: error: cannot find symbol
  public void withPipeline(Consumer<RedisPipeline> f) {
                                    ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:102: error: cannot find symbol
  public <R> R withPipeline(Function<RedisPipeline, R> f) {
                                     ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:109: error: cannot find symbol
  public void syncPipeline(RedisPipeline p) {
                           ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:162: error: cannot find symbol
  public void withScriptingClient(Consumer<ScriptingCommands> f) {
                                           ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:169: error: cannot find symbol
  public <R> R withScriptingClient(Function<ScriptingCommands, R> f) {
                                            ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:41: error: cannot find symbol
  <R> R withMultiClient(Function<MultiKeyCommands, R> f);
                                 ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:43: error: cannot find symbol
  void withMultiClient(Consumer<MultiKeyCommands> f);
                                ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:45: error: cannot find symbol
  <R> R withBinaryClient(Function<BinaryJedisCommands, R> f);
                                  ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:47: error: cannot find symbol
  void withBinaryClient(Consumer<BinaryJedisCommands> f);
                                 ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:49: error: cannot find symbol
  void withPipeline(Consumer<RedisPipeline> f);
                             ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:51: error: cannot find symbol
  <R> R withPipeline(Function<RedisPipeline, R> f);
                              ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:53: error: cannot find symbol
  void syncPipeline(RedisPipeline p);
                    ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:69: error: cannot find symbol
  void withScriptingClient(Consumer<ScriptingCommands> f);
                                    ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:71: error: cannot find symbol
  <R> R withScriptingClient(Function<ScriptingCommands, R> f);
                                     ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:107: error: cannot find symbol
  public void setClient(Client client) {
                        ^
  symbol:   class Client
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:386: error: cannot find symbol
  public Response<Long> sort(String key, SortingParams sortingParameters, String dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:392: error: cannot find symbol
  public Response<Long> sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:458: error: cannot find symbol
  public Response<Long> zinterstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:464: error: cannot find symbol
  public Response<Long> zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:482: error: cannot find symbol
  public Response<Long> zunionstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:488: error: cannot find symbol
  public Response<Long> zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:626: error: cannot find symbol
  public Response<Long> bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:632: error: cannot find symbol
  public Response<Long> bitop(BitOP op, String destKey, String... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:916: error: cannot find symbol
  public Response<Long> bitpos(String key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:928: error: cannot find symbol
  public Response<Long> bitpos(byte[] key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1414: error: cannot find symbol
  public Response<List<String>> sort(String key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1420: error: cannot find symbol
  public Response<List<byte[]>> sort(byte[] key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1708: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1714: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, String min, String max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1720: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1726: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1732: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1740: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1748: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1756: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1816: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1822: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, String max, String min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1828: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1834: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1840: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1848: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1856: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1864: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1872: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1878: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1956: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1962: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2346: error: cannot find symbol
  public Response<Double> geodist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2358: error: cannot find symbol
  public Response<Double> geodist(String key, String member1, String member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2389: error: cannot find symbol
      byte[] key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2388: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2400: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2395: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2409: error: cannot find symbol
      String key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2408: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2420: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2415: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2429: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2428: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2436: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2435: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2444: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2443: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2451: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2450: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:33: error: cannot find symbol
import redis.clients.jedis.util.Slowlog;
                               ^
  symbol:   class Slowlog
  location: package redis.clients.jedis.util
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:599: error: cannot find symbol
  public Set<Tuple> zrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:605: error: cannot find symbol
  public Set<Tuple> zrevrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:635: error: cannot find symbol
  public List<String> sort(String key, SortingParams sortingParameters) {
                                       ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:659: error: cannot find symbol
  public Long sort(String key, SortingParams sortingParameters, String dstkey) {
                               ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:713: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:719: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, String min, String max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:725: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:733: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:759: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:765: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:773: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:787: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, String max, String min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:817: error: cannot find symbol
  public Long zunionstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:829: error: cannot find symbol
  public Long zinterstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:902: error: cannot find symbol
      final String key, final ListPosition where, final String pivot, final String value) {
                              ^
  symbol:   class ListPosition
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:951: error: cannot find symbol
  public Long bitpos(String key, boolean value, BitPosParams params) {
                                                ^
  symbol:   class BitPosParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1044: error: cannot find symbol
  public List<Slowlog> slowlogGet() {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1050: error: cannot find symbol
  public List<Slowlog> slowlogGet(long entries) {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1086: error: cannot find symbol
  public Long bitop(BitOP op, String destKey, String... srcKeys) {
                    ^
  symbol:   class BitOP
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1195: error: cannot find symbol
  public ScanResult<String> scan(String cursor) {
         ^
  symbol:   class ScanResult
  location: class InstrumentedJedis
100 errors
only showing the first 100 errors, of 166 total; use -Xmaxerrs if you would like to see more
```
The root cause of these errors is upgrade of `redis.clients:jedis` from 3.8.0 to 4.3.2 with spring boot upgrade from 2.x to 3.x.
In order to fix these issues, migrated jedis from 3.x to 4.x by following the migration [document](https://github.com/redis/jedis/blob/master/docs/3to4.md)
And for further changelogs, please refer [here](https://github.com/redis/jedis/releases/tag/v4.0.0)

Removed the reflection logic to check the `internalPool` field from `JedisPool` object, as `internalPool` field has been removed from Jedis [4.3.2](https://javadoc.io/static/redis.clients/jedis/4.3.2/redis/clients/jedis/util/Pool.html#internalPool) and `JedisPool` is sub class of `GenericObjectPool` from Jedis [4.0.0](redis/jedis#2521) onwards. So, refactoring the logic to check null value.

In Jedis 4.x, default constructor of `Pipeline` class has be removed in lieu of parameterised constructor to obtain `Connection` object either directly passing `Connection` or `Jedis`, as discussed [here](redis/jedis#2693). So, updating the constructor by replacing the `Pipeline` with `Jedis`, and updated its usage in `InstrumentedJedis.pipelined()` method.
j-sandy added a commit to j-sandy/kork that referenced this pull request Dec 19, 2024
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Unpinning okhttp and rest-assured, as spring boot [3.0.13](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/3.0.13/spring-boot-dependencies-3.0.13.pom) brings okhttp 4.10.0 and rest-assured 5.2.1.

While upgrading the spring boot and spring cloud, encountered the below errors during build process of kork-jedis module:
```
> Task :kork-jedis:compileJava FAILED
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:23: error: cannot find symbol
import redis.clients.jedis.ScanParams;
                          ^
  symbol:   class ScanParams
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.ScanResult;
                          ^
  symbol:   class ScanResult
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:28: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:29: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:30: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:22: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:25: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:67: error: cannot find symbol
  public <R> R withMultiClient(Function<MultiKeyCommands, R> f) {
                                        ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:74: error: cannot find symbol
  public void withMultiClient(Consumer<MultiKeyCommands> f) {
                                       ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:81: error: cannot find symbol
  public <R> R withBinaryClient(Function<BinaryJedisCommands, R> f) {
                                         ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:88: error: cannot find symbol
  public void withBinaryClient(Consumer<BinaryJedisCommands> f) {
                                        ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:95: error: cannot find symbol
  public void withPipeline(Consumer<RedisPipeline> f) {
                                    ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:102: error: cannot find symbol
  public <R> R withPipeline(Function<RedisPipeline, R> f) {
                                     ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:109: error: cannot find symbol
  public void syncPipeline(RedisPipeline p) {
                           ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:162: error: cannot find symbol
  public void withScriptingClient(Consumer<ScriptingCommands> f) {
                                           ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:169: error: cannot find symbol
  public <R> R withScriptingClient(Function<ScriptingCommands, R> f) {
                                            ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:41: error: cannot find symbol
  <R> R withMultiClient(Function<MultiKeyCommands, R> f);
                                 ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:43: error: cannot find symbol
  void withMultiClient(Consumer<MultiKeyCommands> f);
                                ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:45: error: cannot find symbol
  <R> R withBinaryClient(Function<BinaryJedisCommands, R> f);
                                  ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:47: error: cannot find symbol
  void withBinaryClient(Consumer<BinaryJedisCommands> f);
                                 ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:49: error: cannot find symbol
  void withPipeline(Consumer<RedisPipeline> f);
                             ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:51: error: cannot find symbol
  <R> R withPipeline(Function<RedisPipeline, R> f);
                              ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:53: error: cannot find symbol
  void syncPipeline(RedisPipeline p);
                    ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:69: error: cannot find symbol
  void withScriptingClient(Consumer<ScriptingCommands> f);
                                    ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:71: error: cannot find symbol
  <R> R withScriptingClient(Function<ScriptingCommands, R> f);
                                     ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:107: error: cannot find symbol
  public void setClient(Client client) {
                        ^
  symbol:   class Client
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:386: error: cannot find symbol
  public Response<Long> sort(String key, SortingParams sortingParameters, String dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:392: error: cannot find symbol
  public Response<Long> sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:458: error: cannot find symbol
  public Response<Long> zinterstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:464: error: cannot find symbol
  public Response<Long> zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:482: error: cannot find symbol
  public Response<Long> zunionstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:488: error: cannot find symbol
  public Response<Long> zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:626: error: cannot find symbol
  public Response<Long> bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:632: error: cannot find symbol
  public Response<Long> bitop(BitOP op, String destKey, String... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:916: error: cannot find symbol
  public Response<Long> bitpos(String key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:928: error: cannot find symbol
  public Response<Long> bitpos(byte[] key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1414: error: cannot find symbol
  public Response<List<String>> sort(String key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1420: error: cannot find symbol
  public Response<List<byte[]>> sort(byte[] key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1708: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1714: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, String min, String max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1720: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1726: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1732: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1740: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1748: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1756: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1816: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1822: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, String max, String min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1828: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1834: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1840: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1848: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1856: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1864: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1872: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1878: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1956: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1962: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2346: error: cannot find symbol
  public Response<Double> geodist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2358: error: cannot find symbol
  public Response<Double> geodist(String key, String member1, String member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2389: error: cannot find symbol
      byte[] key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2388: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2400: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2395: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2409: error: cannot find symbol
      String key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2408: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2420: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2415: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2429: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2428: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2436: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2435: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2444: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2443: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2451: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2450: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:33: error: cannot find symbol
import redis.clients.jedis.util.Slowlog;
                               ^
  symbol:   class Slowlog
  location: package redis.clients.jedis.util
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:599: error: cannot find symbol
  public Set<Tuple> zrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:605: error: cannot find symbol
  public Set<Tuple> zrevrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:635: error: cannot find symbol
  public List<String> sort(String key, SortingParams sortingParameters) {
                                       ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:659: error: cannot find symbol
  public Long sort(String key, SortingParams sortingParameters, String dstkey) {
                               ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:713: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:719: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, String min, String max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:725: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:733: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:759: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:765: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:773: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:787: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, String max, String min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:817: error: cannot find symbol
  public Long zunionstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:829: error: cannot find symbol
  public Long zinterstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:902: error: cannot find symbol
      final String key, final ListPosition where, final String pivot, final String value) {
                              ^
  symbol:   class ListPosition
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:951: error: cannot find symbol
  public Long bitpos(String key, boolean value, BitPosParams params) {
                                                ^
  symbol:   class BitPosParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1044: error: cannot find symbol
  public List<Slowlog> slowlogGet() {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1050: error: cannot find symbol
  public List<Slowlog> slowlogGet(long entries) {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1086: error: cannot find symbol
  public Long bitop(BitOP op, String destKey, String... srcKeys) {
                    ^
  symbol:   class BitOP
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1195: error: cannot find symbol
  public ScanResult<String> scan(String cursor) {
         ^
  symbol:   class ScanResult
  location: class InstrumentedJedis
100 errors
only showing the first 100 errors, of 166 total; use -Xmaxerrs if you would like to see more
```
The root cause of these errors is upgrade of `redis.clients:jedis` from 3.8.0 to 4.3.2 with spring boot upgrade from 2.x to 3.x.
In order to fix these issues, migrated jedis from 3.x to 4.x by following the migration [document](https://github.com/redis/jedis/blob/master/docs/3to4.md)
And for further changelogs, please refer [here](https://github.com/redis/jedis/releases/tag/v4.0.0)

Removed the reflection logic to check the `internalPool` field from `JedisPool` object, as `internalPool` field has been removed from Jedis [4.3.2](https://javadoc.io/static/redis.clients/jedis/4.3.2/redis/clients/jedis/util/Pool.html#internalPool) and `JedisPool` is sub class of `GenericObjectPool` from Jedis [4.0.0](redis/jedis#2521) onwards. So, refactoring the logic to check null value.

In Jedis 4.x, default constructor of `Pipeline` class has be removed in lieu of parameterised constructor to obtain `Connection` object either directly passing `Connection` or `Jedis`, as discussed [here](redis/jedis#2693). So, updating the constructor by replacing the `Pipeline` with `Jedis`, and updated its usage in `InstrumentedJedis.pipelined()` method.
j-sandy added a commit to j-sandy/kork that referenced this pull request Dec 19, 2024
… cloud from 2021.0.x to 2022.0.x

Upgrading spring boot 2.7.18 to 3.0.13 and spring cloud 2021.0.8 to 2022.0.5.
Spring cloud release 2022.0.x is compatible with spring boot 3.0.x.
https://github.com/spring-cloud/spring-cloud-release/wiki/Supported-Versions#supported-releases

Unpinning okhttp and rest-assured, as spring boot [3.0.13](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/3.0.13/spring-boot-dependencies-3.0.13.pom) brings okhttp 4.10.0 and rest-assured 5.2.1.

While upgrading the spring boot and spring cloud, encountered the below errors during build process of kork-jedis module:
```
> Task :kork-jedis:compileJava FAILED
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:23: error: cannot find symbol
import redis.clients.jedis.ScanParams;
                          ^
  symbol:   class ScanParams
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.ScanResult;
                          ^
  symbol:   class ScanResult
  location: package redis.clients.jedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:28: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:29: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:30: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:22: error: cannot find symbol
import redis.clients.jedis.commands.BinaryJedisCommands;
                                   ^
  symbol:   class BinaryJedisCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:24: error: cannot find symbol
import redis.clients.jedis.commands.MultiKeyCommands;
                                   ^
  symbol:   class MultiKeyCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:25: error: cannot find symbol
import redis.clients.jedis.commands.RedisPipeline;
                                   ^
  symbol:   class RedisPipeline
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:26: error: cannot find symbol
import redis.clients.jedis.commands.ScriptingCommands;
                                   ^
  symbol:   class ScriptingCommands
  location: package redis.clients.jedis.commands
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:67: error: cannot find symbol
  public <R> R withMultiClient(Function<MultiKeyCommands, R> f) {
                                        ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:74: error: cannot find symbol
  public void withMultiClient(Consumer<MultiKeyCommands> f) {
                                       ^
  symbol:   class MultiKeyCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:81: error: cannot find symbol
  public <R> R withBinaryClient(Function<BinaryJedisCommands, R> f) {
                                         ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:88: error: cannot find symbol
  public void withBinaryClient(Consumer<BinaryJedisCommands> f) {
                                        ^
  symbol:   class BinaryJedisCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:95: error: cannot find symbol
  public void withPipeline(Consumer<RedisPipeline> f) {
                                    ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:102: error: cannot find symbol
  public <R> R withPipeline(Function<RedisPipeline, R> f) {
                                     ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:109: error: cannot find symbol
  public void syncPipeline(RedisPipeline p) {
                           ^
  symbol:   class RedisPipeline
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:162: error: cannot find symbol
  public void withScriptingClient(Consumer<ScriptingCommands> f) {
                                           ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/JedisClientDelegate.java:169: error: cannot find symbol
  public <R> R withScriptingClient(Function<ScriptingCommands, R> f) {
                                            ^
  symbol:   class ScriptingCommands
  location: class JedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:41: error: cannot find symbol
  <R> R withMultiClient(Function<MultiKeyCommands, R> f);
                                 ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:43: error: cannot find symbol
  void withMultiClient(Consumer<MultiKeyCommands> f);
                                ^
  symbol:   class MultiKeyCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:45: error: cannot find symbol
  <R> R withBinaryClient(Function<BinaryJedisCommands, R> f);
                                  ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:47: error: cannot find symbol
  void withBinaryClient(Consumer<BinaryJedisCommands> f);
                                 ^
  symbol:   class BinaryJedisCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:49: error: cannot find symbol
  void withPipeline(Consumer<RedisPipeline> f);
                             ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:51: error: cannot find symbol
  <R> R withPipeline(Function<RedisPipeline, R> f);
                              ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:53: error: cannot find symbol
  void syncPipeline(RedisPipeline p);
                    ^
  symbol:   class RedisPipeline
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:69: error: cannot find symbol
  void withScriptingClient(Consumer<ScriptingCommands> f);
                                    ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/RedisClientDelegate.java:71: error: cannot find symbol
  <R> R withScriptingClient(Function<ScriptingCommands, R> f);
                                     ^
  symbol:   class ScriptingCommands
  location: interface RedisClientDelegate
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:107: error: cannot find symbol
  public void setClient(Client client) {
                        ^
  symbol:   class Client
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:386: error: cannot find symbol
  public Response<Long> sort(String key, SortingParams sortingParameters, String dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:392: error: cannot find symbol
  public Response<Long> sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) {
                                         ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:458: error: cannot find symbol
  public Response<Long> zinterstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:464: error: cannot find symbol
  public Response<Long> zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:482: error: cannot find symbol
  public Response<Long> zunionstore(String dstkey, ZParams params, String... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:488: error: cannot find symbol
  public Response<Long> zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
                                                   ^
  symbol:   class ZParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:626: error: cannot find symbol
  public Response<Long> bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:632: error: cannot find symbol
  public Response<Long> bitop(BitOP op, String destKey, String... srcKeys) {
                              ^
  symbol:   class BitOP
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:916: error: cannot find symbol
  public Response<Long> bitpos(String key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:928: error: cannot find symbol
  public Response<Long> bitpos(byte[] key, boolean value, BitPosParams params) {
                                                          ^
  symbol:   class BitPosParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1414: error: cannot find symbol
  public Response<List<String>> sort(String key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1420: error: cannot find symbol
  public Response<List<byte[]>> sort(byte[] key, SortingParams sortingParameters) {
                                                 ^
  symbol:   class SortingParams
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1708: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1714: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(String key, String min, String max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1720: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, double min, double max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1726: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1732: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1740: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1748: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1756: error: cannot find symbol
  public Response<Set<Tuple>> zrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1816: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1822: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(String key, String max, String min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1828: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1834: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1840: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1848: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1856: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1864: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeByScoreWithScores(
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1872: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1878: error: cannot find symbol
  public Response<Set<Tuple>> zrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1956: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(String key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:1962: error: cannot find symbol
  public Response<Set<Tuple>> zrevrangeWithScores(byte[] key, long start, long end) {
                      ^
  symbol:   class Tuple
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2346: error: cannot find symbol
  public Response<Double> geodist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2358: error: cannot find symbol
  public Response<Double> geodist(String key, String member1, String member2, GeoUnit unit) {
                                                                              ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2389: error: cannot find symbol
      byte[] key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2388: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2400: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2395: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2409: error: cannot find symbol
      String key, double longitude, double latitude, double radius, GeoUnit unit) {
                                                                    ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2408: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2420: error: cannot find symbol
      GeoUnit unit,
      ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2415: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadius(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2429: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2428: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2436: error: cannot find symbol
      byte[] key, byte[] member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2435: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2444: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2443: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2451: error: cannot find symbol
      String key, String member, double radius, GeoUnit unit, GeoRadiusParam param) {
                                                ^
  symbol:   class GeoUnit
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedPipeline.java:2450: error: cannot find symbol
  public Response<List<GeoRadiusResponse>> georadiusByMember(
                       ^
  symbol:   class GeoRadiusResponse
  location: class InstrumentedPipeline
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:33: error: cannot find symbol
import redis.clients.jedis.util.Slowlog;
                               ^
  symbol:   class Slowlog
  location: package redis.clients.jedis.util
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:599: error: cannot find symbol
  public Set<Tuple> zrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:605: error: cannot find symbol
  public Set<Tuple> zrevrangeWithScores(String key, long start, long end) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:635: error: cannot find symbol
  public List<String> sort(String key, SortingParams sortingParameters) {
                                       ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:659: error: cannot find symbol
  public Long sort(String key, SortingParams sortingParameters, String dstkey) {
                               ^
  symbol:   class SortingParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:713: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:719: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(String key, String min, String max) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:725: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:733: error: cannot find symbol
  public Set<Tuple> zrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:759: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:765: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:773: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:787: error: cannot find symbol
  public Set<Tuple> zrevrangeByScoreWithScores(String key, String max, String min) {
             ^
  symbol:   class Tuple
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:817: error: cannot find symbol
  public Long zunionstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:829: error: cannot find symbol
  public Long zinterstore(String dstkey, ZParams params, String... sets) {
                                         ^
  symbol:   class ZParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:902: error: cannot find symbol
      final String key, final ListPosition where, final String pivot, final String value) {
                              ^
  symbol:   class ListPosition
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:951: error: cannot find symbol
  public Long bitpos(String key, boolean value, BitPosParams params) {
                                                ^
  symbol:   class BitPosParams
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1044: error: cannot find symbol
  public List<Slowlog> slowlogGet() {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1050: error: cannot find symbol
  public List<Slowlog> slowlogGet(long entries) {
              ^
  symbol:   class Slowlog
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1086: error: cannot find symbol
  public Long bitop(BitOP op, String destKey, String... srcKeys) {
                    ^
  symbol:   class BitOP
  location: class InstrumentedJedis
/kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:1195: error: cannot find symbol
  public ScanResult<String> scan(String cursor) {
         ^
  symbol:   class ScanResult
  location: class InstrumentedJedis
100 errors
only showing the first 100 errors, of 166 total; use -Xmaxerrs if you would like to see more
```
The root cause of these errors is upgrade of `redis.clients:jedis` from 3.8.0 to 4.3.2 with spring boot upgrade from 2.x to 3.x.
In order to fix these issues, migrated jedis from 3.x to 4.x by following the migration [document](https://github.com/redis/jedis/blob/master/docs/3to4.md)
And for further changelogs, please refer [here](https://github.com/redis/jedis/releases/tag/v4.0.0)

Removed the reflection logic to check the `internalPool` field from `JedisPool` object, as `internalPool` field has been removed from Jedis [4.3.2](https://javadoc.io/static/redis.clients/jedis/4.3.2/redis/clients/jedis/util/Pool.html#internalPool) and `JedisPool` is sub class of `GenericObjectPool` from Jedis [4.0.0](redis/jedis#2521) onwards. So, refactoring the logic to check null value.

In Jedis 4.x, default constructor of `Pipeline` class has be removed in lieu of parameterised constructor to obtain `Connection` object either directly passing `Connection` or `Jedis`, as discussed [here](redis/jedis#2693). So, updating the constructor by replacing the `Pipeline` with `Jedis`, and updated its usage in `InstrumentedJedis.pipelined()` method.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

No way to apply AbandonedConfig in JedisPool Warm the internalPool upon initialization of the JedisPool
2 participants