Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(dependency): Issue with kork-jedis while upgrading spring-boot to…
… 2.5.14 While upgrading the spring-boot, the compilation of kork-jedis module failed with following error: ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2652: error: slowlogGetBinary(long) in InstrumentedJedis cannot implement slowlogGetBinary(long) in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary(long entries) { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2646: error: slowlogGetBinary() in InstrumentedJedis cannot implement slowlogGetBinary() in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary() { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2645: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2648: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary()); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2651: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2654: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary(entries)); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) ``` ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:84: error: name clash: initPool(GenericObjectPoolConfig,PooledObjectFactory<Jedis>) in InstrumentedJedisPool and initPool(GenericObjectPoolConfig<Jedis>,PooledObjectFactory<Jedis>) in Pool have the same erasure, yet neither overrides the other public void initPool(GenericObjectPoolConfig poolConfig, PooledObjectFactory<Jedis> factory) { ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:83: error: method does not override or implement a method from a supertype @OverRide ``` The root cause is the upgrade of redis.clients:jedis from 3.3.0 to 3.6.3 as transitive dependency of spring-boot, that brings the breaking changes in APIs as mentioned below: redis/jedis#2084 redis/jedis#2361 Fixed the issue with required code changes.
- Loading branch information