Open ashok-shukla opened 4 months ago
Hey @ashok-shukla ,
what lead you to conclude that the parked thread is handling topology refresh? Is there some minimum reproducible example of the problem we can take a look at?
(Asynchronous topology refresh is handled in #1107)
parked thread is not handling topology refresh. but waiting for topology refresh.
io-executor-thread-9: is parked from 7/5/24, 5:49:06.734 PM to 7/5/24, 5:49:08.115 PM. lettuce-nioEventLoop-5-2: doing topology refresh from 7/5/24, 5:49:06.714 PM to 7/5/24, 5:49:08.215 PM.
I do not have a minimum reproducible example now. if possible, I will try to create one.
reproducer: cache.zip
Awesome! Much appreciated!
Bug Report
Current Behavior
Periodic cluster topology refresh blocks commands execution.
From JFR, 1) topology refresh took 1.5 sec Start Time Duration End Time Event Thread sources 7/5/24, 5:49:06.714 PM 1.500 s 7/5/24, 5:49:08.215 PM lettuce-nioEventLoop-5-2 xxxx,xxxx
2) Thread is parked to execute get command during the topology refresh period
Expected behavior/code
As for reference guide, from Lettuce 6.0, Cluster topology refresh is now non-blocking. But from JFR, it shows as blocking.
Environment
Possible Solution
Additional context
We are executing commands using synchronous api. Our redis cluster consists of 9 nodes: 3 master and each master has 2 replicas.