Skip to content

SlaveConnectionPool no available Redis entries. Master entry host #3981

@TeamHuddle

Description

@TeamHuddle

Spec Used:
Redis Version: 5.0.6 (AWS Elasticache with cluster mode)
Redisson: 3.16.4
ConnectTimeout: 3000
timeout: 1000
retryAttempt: 1
readMode: SLAVE
slaveConnectionMinimumIdleSize: 24
slaveConnectionPoolSize: 64
masterConnectionMinimumIdleSize: 24
masterConnectionPoolSize: 64
using: ClusterMode and Rbucket for GET and SET

We intermittently get below error .. I think this is because the Master instance is loosing connection with the Slave instance. If we check in Elasticache, all the nodes are in "available" status. Only solution we do is to redeploy the app to resolve the error.

Any idea what parameter should be added or tweaked related to this issue? or can Redisson provide any interval option to refresh the connection pool?

org.redisson.client.RedisConnectionException: SlaveConnectionPool no available Redis entries. Master entry host: XX,XXX.XXX/XX,XXX.XXX:6379 Disconnected hosts: [XX,XXX.XXX/XX,XXX.XXX:6379]
at org.redisson.connection.pool.ConnectionPool.get(ConnectionPool.java:216)
at org.redisson.connection.pool.SlaveConnectionPool.get(SlaveConnectionPool.java:30)
at org.redisson.connection.balancer.LoadBalancerManager.nextConnection(LoadBalancerManager.java:273)
at org.redisson.connection.MasterSlaveEntry.connectionReadOp(MasterSlaveEntry.java:499)
at org.redisson.connection.MasterSlaveConnectionManager.connectionReadOp(MasterSlaveConnectionManager.java:549)
at org.redisson.command.RedisExecutor.getConnection(RedisExecutor.java:555)
at org.redisson.command.RedisExecutor.execute(RedisExecutor.java:121)
at org.redisson.command.RedisExecutor$2.run(RedisExecutor.java:251)
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:669)
at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:744)
at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:469)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:829)

Note: I verifed the post 2535 .. it is in closed state but the question isn't addressed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions