redisson: threads blocked waiting on CountDownLatch
Hello,
We are facing an an issue where some threads get blocked indefinitely waiting on the CountDownLatch in CommandAsyncService.get()
. Relevant section of the thread dump:
- waiting on java.util.concurrent.CountDownLatch$Sync@1f2311a9
at java.util.concurrent.locks.LockSupport.park(LockSupport.java: at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
at org.redisson.command.CommandAsyncService.get(CommandAsyncService.java:186)
...
The reason for why the requests aren’t able to complete isn’t relevant here (we are deploying redis in kubernetes, and are working through various upgrade/failure scenarios that currently can result in severed connections). However, it’s strange to me that the CommandAsyncService.get()
method doesn’t respect timeout configuration, and simply calls l.await()
.
Is there any way around this? Please let me know if I am misunderstanding the situation.
Expected behavior
CommandAsyncService.get()
should throw an exception if the future is unable to complete within a timeout.
Actual behavior
Many threads are hanging indefinitely in the CommandAsyncService.get()
method.
Redis version
5.0.5
Redisson version
3.10.7
Redisson configuration
nettyThreads=16 masterConnectionPoolSize=200 masterConnectionMinimumIdleSize=100 subscriptionConnectionPoolSize=200 subscriptionConnectionMinimumIdleSize=100 subscriptionsPerConnection=10 connectionTimeout=10000 retryInterval=3000 retryAttempts=10 keepAlive=true tcpNoDelay=true clusterScanInterval=2000 pingConnectionInterval=10000
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 32 (13 by maintainers)
Commits related to this issue
- Fixed - threads blocked waiting on CountDownLatch #2304 — committed to redisson/redisson by deleted user 5 years ago
I did some changes to fix this issue. Please try attached version below:
redisson-3.11.4-SNAPSHOT.jar.zip