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
There is a Java (spring) service, which uses Redis cluster with help lettuce.
We have a setting spring.redis.lettuce.pool.maxActive == 100_000
At some moment, the service lose network connectivity to one of redis cluster master nodes.
The service has a bunch of background queries, which are executed periodically (e.g. we execute ping query each second).
After some time, io.lettuce.core.protocol.DefaultEndpoint#QUEUE_SIZE is equal to 100_000 for some channels
As result, the service cannot execute any queries, using this connection. We got an error, like Request queue size exceeded: 100000. Commands are not accepted until the queue size drops.
After some time, the network connective issue is resolved.
The problem is, that the application still has io.lettuce.core.protocol.DefaultEndpoint#QUEUE_SIZE = 100_000. If I manually set this field to 0, the application starts working.
Bug Report
spring.redis.lettuce.pool.maxActive == 100_000
ping
query each second).io.lettuce.core.protocol.DefaultEndpoint#QUEUE_SIZE
is equal to100_000
for some channelsRequest queue size exceeded: 100000. Commands are not accepted until the queue size drops.
io.lettuce.core.protocol.DefaultEndpoint#QUEUE_SIZE = 100_000
. If I manually set this field to0
, the application starts working.Environment
Maybe, it is similar to #616
The text was updated successfully, but these errors were encountered: