Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redis Repositories with Cluster and lettuce breaks application initialization [DATAREDIS-508] #1085

Closed
spring-projects-issues opened this issue May 3, 2016 · 2 comments
Assignees
Labels
in: lettuce Lettuce driver in: repository Repositories abstraction type: bug A general bug
Milestone

Comments

@spring-projects-issues
Copy link

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.

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

Affects: 1.7.1 (Hopper SR1)

Referenced from: pull request #254

@spring-projects-issues
Copy link
Author

Mark Paluch commented

Keyspace events are not broadcasted to the whole cluster, just locally. See redis/redis#2541

@spring-projects-issues
Copy link
Author

anton commented

Is it possible to backport it to the version 1.8?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: lettuce Lettuce driver in: repository Repositories abstraction type: bug A general bug
Projects
None yet
Development

No branches or pull requests

2 participants