Skip to content

Upgrade to Jedis 5.0 #2612

Closed
Closed
@christophstrobl

Description

@christophstrobl
Member

Jedis 5 already released its 2nd beta so we could follow along on current main line till the GA is out.

Activity

jxblum

jxblum commented on Jun 16, 2023

@jxblum
Contributor

I just did a quick evaluation on upgrading Spring Data Redis to Jedis 5.0.0-beta2, and it currently leads to the following compilation errors:

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisInvoker.java:[20,26] error: cannot find symbol
  symbol:   class Queable
  location: package redis.clients.jedis
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisInvoker.java:[1053,40] error: cannot find symbol
  symbol:   class Queable
  location: class JedisInvoker
[ERROR]   reason: class file for javax.annotation.meta.When not found
/Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStreamCommands.java:[272,50] error: no suitable method found for xpending(byte[],byte[],byte[],byte[],int,byte[])
    method UnifiedJedis.xpending(String,String) is not applicable
      (actual and formal argument lists differ in length)
    method UnifiedJedis.xpending(String,String,XPendingParams) is not applicable
      (actual and formal argument lists differ in length)
    method UnifiedJedis.xpending(byte[],byte[]) is not applicable
      (actual and formal argument lists differ in length)
    method UnifiedJedis.xpending(byte[],byte[],XPendingParams) is not applicable
      (actual and formal argument lists differ in length)
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java:[163,73] error: incompatible types: List<Entry<byte[],byte[]>> cannot be converted to Map<byte[],byte[]>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java:[188,73] error: incompatible types: List<Entry<byte[],byte[]>> cannot be converted to Map<byte[],byte[]>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java:[253,100] error: incompatible types: bad return type in lambda expression
    Map<String,String> cannot be converted to List<String>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[351,50] error: incompatible types: KeyValue<byte[],Tuple> cannot be converted to List<?>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[392,50] error: incompatible types: KeyValue<byte[],Tuple> cannot be converted to List<?>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[821,40] error: incompatible types: List<byte[]> cannot be converted to Set<byte[]>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[838,77] error: incompatible types: List<Tuple> cannot be converted to Set<Tuple>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[875,41] error: incompatible types: List<byte[]> cannot be converted to Set<byte[]>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[892,78] error: incompatible types: List<Tuple> cannot be converted to Set<Tuple>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[913,58] error: incompatible types: List<Tuple> cannot be converted to Set<Tuple>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[974,41] error: incompatible types: List<byte[]> cannot be converted to Set<byte[]>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[991,78] error: incompatible types: List<Tuple> cannot be converted to Set<Tuple>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java:[1012,58] error: incompatible types: List<Tuple> cannot be converted to Set<Tuple>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java:[327,8] error: cannot find symbol
  symbol:   method quit()
  location: variable jedis of type Jedis
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java:[125,39] error: cannot find symbol
  symbol:   method entrySet()
  location: variable it of type List<Entry<byte[],byte[]>>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java:[147,16] error: incompatible types: incompatible parameter types in lambda expression
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java:[328,9] error: incompatible types: invalid method reference
    incompatible types: KeyValue<byte[],Tuple> cannot be converted to List<?>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java:[359,9] error: incompatible types: invalid method reference
    incompatible types: KeyValue<byte[],Tuple> cannot be converted to List<?>
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java:[427,33] error: incompatible types: inference variable R has incompatible bounds
    lower bounds: Set<byte[]>,Object
    lower bounds: List<byte[]>
  where R,T1 are type-variables:
    R extends Object declared in method <R,T1>just(ConnectionFunction1<T1,R>,PipelineFunction1<T1,R>,T1)
    T1 extends Object declared in method <R,T1>just(ConnectionFunction1<T1,R>,PipelineFunction1<T1,R>,T1)
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java:[453,33] error: incompatible types: inference variable R has incompatible bounds
    lower bounds: Set<byte[]>,Object
    lower bounds: List<byte[]>
  where R,T1,T2 are type-variables:
    R extends Object declared in method <R,T1,T2>just(ConnectionFunction2<T1,T2,R>,PipelineFunction2<T1,T2,R>,T1,T2)
    T1 extends Object declared in method <R,T1,T2>just(ConnectionFunction2<T1,T2,R>,PipelineFunction2<T1,T2,R>,T1,T2)
    T2 extends Object declared in method <R,T1,T2>just(ConnectionFunction2<T1,T2,R>,PipelineFunction2<T1,T2,R>,T1,T2)
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java:[507,33] error: incompatible types: inference variable R has incompatible bounds
    lower bounds: Set<byte[]>,Object
    lower bounds: List<byte[]>
  where R,T1,T2 are type-variables:
    R extends Object declared in method <R,T1,T2>just(ConnectionFunction2<T1,T2,R>,PipelineFunction2<T1,T2,R>,T1,T2)
    T1 extends Object declared in method <R,T1,T2>just(ConnectionFunction2<T1,T2,R>,PipelineFunction2<T1,T2,R>,T1,T2)
    T2 extends Object declared in method <R,T1,T2>just(ConnectionFunction2<T1,T2,R>,PipelineFunction2<T1,T2,R>,T1,T2)
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java:[629,5] error: cannot find symbol
  symbol: method addParam(String)
[ERROR] /Users/jblum/pivdev/spring-data-redis/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java:[632,5] error: cannot find symbol
  symbol: method addParam(String)
[INFO] 26 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  25.974 s
[INFO] Finished at: 2023-06-15T19:18:43-07:00
[INFO] ------------------------------------------------------------------------
vishalsingh2972

vishalsingh2972 commented on Jun 21, 2023

@vishalsingh2972

@christophstrobl can you assign this to me, want to give this a try!

mp911de

mp911de commented on Jul 11, 2023

@mp911de
Member

Jedis 5 seems a major rewrite, judging from the amount of breaking changes: https://github.com/redis/jedis/releases/tag/v5.0.0-beta2

lzysuqianqiu

lzysuqianqiu commented on Sep 4, 2023

@lzysuqianqiu

Jedis 5.0 is GA now ,any progress?

christophstrobl

christophstrobl commented on Sep 4, 2023

@christophstrobl
MemberAuthor

@lzysuqianqiu the team is evaluating the impact associated with the quite extensive list of breaking changes.

lzysuqianqiu

lzysuqianqiu commented on Sep 4, 2023

@lzysuqianqiu

okay,get it

self-assigned this
on Sep 14, 2023
added 7 commits that reference this issue on Sep 15, 2023
ec121d9
3db8c6d
cfa00d7
9001ef7
aa34bf0
f453309
4a47976

34 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @mp911de@christophstrobl@jxblum@lzysuqianqiu@vishalsingh2972

      Issue actions

        Upgrade to Jedis 5.0 · Issue #2612 · spring-projects/spring-data-redis