[ https://issues.apache.org/jira/browse/IGNITE-16699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17508136#comment-17508136 ]
Roman Puchkovskiy commented on IGNITE-16699: -------------------------------------------- The patch looks good to me, thanks for the contribution > Properly stop executors for network's user object serialization threads > ----------------------------------------------------------------------- > > Key: IGNITE-16699 > URL: https://issues.apache.org/jira/browse/IGNITE-16699 > Project: Ignite > Issue Type: Improvement > Reporter: Mirza Aliev > Assignee: Semyon Danilov > Priority: Major > Labels: ignite-3 > Fix For: 3.0.0-alpha5 > > Time Spent: 20m > Remaining Estimate: 0h > > We've noticed new warnings in some test's logs after IGNITE-16393 has been > merged: > {noformat} > 2022-03-16 00:04:03:667 +0300 > [WARNING][ItTxDistributedTestThreeNodesThreeReplicas_null_20002-srv-worker-1][DefaultChannelPipeline] > An exceptionCaught() event was fired, and it reached at the tail of the > pipeline. It usually means the last handler in the pipeline did not handle > the exception. > java.util.concurrent.RejectedExecutionException: Task > java.util.concurrent.FutureTask@18f18e0d[Not completed, task = > java.util.concurrent.Executors$RunnableAdapter@26616290[Wrapped task = > org.apache.ignite.network.DefaultMessagingService$$Lambda$1393/0x00000008005c4040@17c4f02c]] > rejected from java.util.concurrent.ThreadPoolExecutor@8867362[Terminated, > pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 3053] > at > java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055) > at > java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825) > at > java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355) > at > java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) > at > java.base/java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:714) > at > org.apache.ignite.network.DefaultMessagingService.onMessage(DefaultMessagingService.java:284) > at > org.apache.ignite.internal.network.netty.ConnectionManager.lambda$onMessage$2(ConnectionManager.java:202) > at > java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807) > at > org.apache.ignite.internal.network.netty.ConnectionManager.onMessage(ConnectionManager.java:202) > at > org.apache.ignite.internal.network.netty.MessageHandler.channelRead(MessageHandler.java:57) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > at > io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) > at > io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > at > io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) > at > io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) > at > io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) > at > io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) > at > io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) > at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) > at > io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) > 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) > {noformat} > > Seems that there are some problems when we stop {{inboundService}} and > {{outboundService}} in > {{org.apache.ignite.network.DefaultMessagingService#stop}}. > Probably we should wait for the executors to be stopped using > {{IgniteUtils#shutdownAndAwaitTermination}} -- This message was sent by Atlassian Jira (v8.20.1#820001)