You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
when calling ClusterConnectionProvider.renewSlotCache(). it should succeed whether there are dead nodes in the cluster or not.
Actual behavior
When I run the jedis client against a auto scaling redis cluster where the nodes are constantly going in and out, ClusterConnectionProvider.renewSlotCache() throw JedisException, the stack traces are like below. So seems to me that there are dead nodes in the cluster that cause the getResource() to throw JedisException, however, shouldn't that exception to be caught?
redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool at redis.clients.jedis.util.Pool.getResource(Pool.java:38) at redis.clients.jedis.ConnectionPool.getResource(ConnectionPool.java:28) at redis.clients.jedis.JedisClusterInfoCache.renewClusterSlots(JedisClusterInfoCache.java:123) at redis.clients.jedis.providers.ClusterConnectionProvider.renewSlotCache(ClusterConnectionProvider.java:58)
Steps to reproduce:
Recreating this will be tough, basically what I was doing is run the Jedis against an auto scaling redis cluster. And this exception happen after a while. Anyway, shouldn't JedisException be caught inside renewSlotCache()? Like having some dead nodes should be tolerated.
Redis / Jedis Configuration
Jedis version:
4.2.3
Redis version:
6.2.2
Java version:
17
The text was updated successfully, but these errors were encountered:
Expected behavior
when calling ClusterConnectionProvider.renewSlotCache(). it should succeed whether there are dead nodes in the cluster or not.
Actual behavior
When I run the jedis client against a auto scaling redis cluster where the nodes are constantly going in and out, ClusterConnectionProvider.renewSlotCache() throw JedisException, the stack traces are like below. So seems to me that there are dead nodes in the cluster that cause the getResource() to throw JedisException, however, shouldn't that exception to be caught?
redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool at redis.clients.jedis.util.Pool.getResource(Pool.java:38) at redis.clients.jedis.ConnectionPool.getResource(ConnectionPool.java:28) at redis.clients.jedis.JedisClusterInfoCache.renewClusterSlots(JedisClusterInfoCache.java:123) at redis.clients.jedis.providers.ClusterConnectionProvider.renewSlotCache(ClusterConnectionProvider.java:58)
Steps to reproduce:
Recreating this will be tough, basically what I was doing is run the Jedis against an auto scaling redis cluster. And this exception happen after a while. Anyway, shouldn't JedisException be caught inside renewSlotCache()? Like having some dead nodes should be tolerated.
Redis / Jedis Configuration
Jedis version:
4.2.3
Redis version:
6.2.2
Java version:
17
The text was updated successfully, but these errors were encountered: