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.
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
Mark Paluch opened DATAREDIS-508 and commented
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.
Affects: 1.7.1 (Hopper SR1)
Referenced from: pull request #254
The text was updated successfully, but these errors were encountered: