Skip to content

Spring Boot 3.5's dependency management should have been upgraded to Jedis 6.0.0 #45669

Closed
@oyvindhorneland

Description

@oyvindhorneland

Spring Boot 3.5.0 with

  • spring-boot-starter-cache
  • spring-boot-starter-data-redis
  • jedis (replaces lettuce)

fails with NoSuchMethodError on method annotated with @Cacheable after upgrade from Spring Boot 3.4.5 to 3.5.0.

java.lang.NoSuchMethodError: 'redis.clients.jedis.params.BaseSetExParams redis.clients.jedis.params.SetParams.px(long)'
	at org.springframework.data.redis.connection.jedis.JedisConverters.toSetCommandExPxArgument(JedisConverters.java:378)
	at org.springframework.data.redis.connection.jedis.JedisClusterStringCommands.set(JedisClusterStringCommands.java:144)
	at org.springframework.data.redis.cache.DefaultRedisCacheWriter.doPut(DefaultRedisCacheWriter.java:247)
	at org.springframework.data.redis.cache.DefaultRedisCacheWriter.lambda$put$3(DefaultRedisCacheWriter.java:238)
	at org.springframework.data.redis.cache.DefaultRedisCacheWriter.execute(DefaultRedisCacheWriter.java:403)
	at org.springframework.data.redis.cache.DefaultRedisCacheWriter.put(DefaultRedisCacheWriter.java:237)
	at org.springframework.data.redis.cache.RedisCache.put(RedisCache.java:208)
	at org.springframework.cache.transaction.TransactionAwareCacheDecorator.put(TransactionAwareCacheDecorator.java:119)
	at org.springframework.cache.interceptor.AbstractCacheInvoker.doPut(AbstractCacheInvoker.java:157)
	at org.springframework.cache.interceptor.CacheAspectSupport$CachePutRequest.performCachePut(CacheAspectSupport.java:1087)
	at org.springframework.cache.interceptor.CacheAspectSupport$CachePutRequest.apply(CacheAspectSupport.java:1072)
	at org.springframework.cache.interceptor.CacheAspectSupport.evaluate(CacheAspectSupport.java:616)
	at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:448)
	at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:410)
	at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:65)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)

The issue seems to be related to spring-projects/spring-data-redis#3144.

Upgrading managed jedis version from default 5.2.0 to the latest 6.0.0 fixes the problem and at least in our case seems to work well.

Metadata

Metadata

Assignees

Labels

status: noteworthyA noteworthy issue to call out in the release notestype: bugA general bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions