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
HashWheelTimer starts lazily upon creating a new Task. Startup is synchronized and may result in a blocking call:
3:55:17.330 [lettuce-nioEventLoop-76-1] DEBUG io.lettuce.core.protocol.CommandHandler - [unknown, chid=0x1] Unexpected exception during request: reactor.blockhound.BlockingOperationError: Blocking call! jdk.internal.misc.Unsafe#park
reactor.blockhound.BlockingOperationError: Blocking call! jdk.internal.misc.Unsafe#park
at java.base/jdk.internal.misc.Unsafe.park(Unsafe.java)
at java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:885)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1039)
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1345)
at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
at io.netty.util.HashedWheelTimer.start(HashedWheelTimer.java:349)
at io.netty.util.HashedWheelTimer.newTimeout(HashedWheelTimer.java:416)
at io.lettuce.core.protocol.RedisHandshakeHandler.channelRegistered(RedisHandshakeHandler.java:65)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:166)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:152)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRegistered(AbstractChannelHandlerContext.java:145)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRegistered(DefaultChannelPipeline.java:1383)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:166)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:152)
at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:815)
at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:505)
at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:417)
at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:474)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:834)
We should call HashedWheelTimer.start() when creating DefaultClientResources to start the timer eagerly.
The text was updated successfully, but these errors were encountered:
…entLoop #1489
We now eagerly start HashWheelTimer when creating DefaultClientResources to avoid blocking calls originating from Timer startup on an EventLoop thread.
…entLoop #1489
We now eagerly start HashWheelTimer when creating DefaultClientResources to avoid blocking calls originating from Timer startup on an EventLoop thread.
HashWheelTimer
starts lazily upon creating a newTask
. Startup is synchronized and may result in a blocking call:We should call
HashedWheelTimer.start()
when creatingDefaultClientResources
to start the timer eagerly.The text was updated successfully, but these errors were encountered: