org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.lang.ClassCastException: com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient

Spring JIRA | Mark Paluch | 10 months ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    Application startup fails when using {{@EnableRedisRepositories}} and Redis Cluster with the lettuce driver. Spring Boot enables by default Redis Repositories when Spring Data Redis is on the class path. Redis Repositories with Cluster and lettuce can't be resolved to a working scenario right. lettuce driver 3.x does not support Redis Cluster with Pub/Sub, only lettuce 4.2 has support for Redis Cluster with Pub/Sub. A possible workaround could be DATAREDIS-505 to run with disabled listeners. {code} 2016-05-03 14:02:21.324 ERROR 13042 --- [enerContainer-1] o.s.d.r.l.RedisMessageListenerContainer : SubscriptionTask aborted with exception: org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.lang.ClassCastException: com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient at org.springframework.data.redis.FallbackExceptionTranslationStrategy.getFallback(FallbackExceptionTranslationStrategy.java:48) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:327) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.connection.lettuce.LettuceConnection.pSubscribe(LettuceConnection.java:3063) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.listener.RedisMessageListenerContainer$SubscriptionTask.eventuallyPerformSubscription(RedisMessageListenerContainer.java:779) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.listener.RedisMessageListenerContainer$SubscriptionTask.run(RedisMessageListenerContainer.java:746) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65] Caused by: java.lang.ClassCastException: com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient at org.springframework.data.redis.connection.lettuce.LettuceConnection.switchToPubSub(LettuceConnection.java:3426) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.connection.lettuce.LettuceConnection.pSubscribe(LettuceConnection.java:3060) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] ... 3 common frames omitted {code}

    Spring JIRA | 10 months ago | Mark Paluch
    org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.lang.ClassCastException: com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient
  2. 0

    Application startup fails when using {{@EnableRedisRepositories}} and Redis Cluster with the lettuce driver. Spring Boot enables by default Redis Repositories when Spring Data Redis is on the class path. Redis Repositories with Cluster and lettuce can't be resolved to a working scenario right. lettuce driver 3.x does not support Redis Cluster with Pub/Sub, only lettuce 4.2 has support for Redis Cluster with Pub/Sub. A possible workaround could be DATAREDIS-505 to run with disabled listeners. {code} 2016-05-03 14:02:21.324 ERROR 13042 --- [enerContainer-1] o.s.d.r.l.RedisMessageListenerContainer : SubscriptionTask aborted with exception: org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.lang.ClassCastException: com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient at org.springframework.data.redis.FallbackExceptionTranslationStrategy.getFallback(FallbackExceptionTranslationStrategy.java:48) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:38) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:327) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.connection.lettuce.LettuceConnection.pSubscribe(LettuceConnection.java:3063) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.listener.RedisMessageListenerContainer$SubscriptionTask.eventuallyPerformSubscription(RedisMessageListenerContainer.java:779) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.listener.RedisMessageListenerContainer$SubscriptionTask.run(RedisMessageListenerContainer.java:746) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65] Caused by: java.lang.ClassCastException: com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient at org.springframework.data.redis.connection.lettuce.LettuceConnection.switchToPubSub(LettuceConnection.java:3426) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] at org.springframework.data.redis.connection.lettuce.LettuceConnection.pSubscribe(LettuceConnection.java:3060) ~[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na] ... 3 common frames omitted {code}

    Spring JIRA | 10 months ago | Mark Paluch
    org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.lang.ClassCastException: com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient

    Root Cause Analysis

    1. java.lang.ClassCastException

      com.lambdaworks.redis.cluster.RedisClusterClient cannot be cast to com.lambdaworks.redis.RedisClient

      at org.springframework.data.redis.connection.lettuce.LettuceConnection.switchToPubSub()
    2. Spring Data Redis
      RedisMessageListenerContainer$SubscriptionTask.run
      1. org.springframework.data.redis.connection.lettuce.LettuceConnection.switchToPubSub(LettuceConnection.java:3426)[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na]
      2. org.springframework.data.redis.connection.lettuce.LettuceConnection.pSubscribe(LettuceConnection.java:3060)[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na]
      3. org.springframework.data.redis.listener.RedisMessageListenerContainer$SubscriptionTask.eventuallyPerformSubscription(RedisMessageListenerContainer.java:779)[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na]
      4. org.springframework.data.redis.listener.RedisMessageListenerContainer$SubscriptionTask.run(RedisMessageListenerContainer.java:746)[spring-data-redis-1.8.0.DATAREDIS-507-SNAPSHOT.jar:na]
      4 frames
    3. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:745)[na:1.8.0_65]
      1 frame