[ https://issues.apache.org/jira/browse/IGNITE-14918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksandr Polovtcev updated IGNITE-14918: ----------------------------------------- Description: Sometimes when running tests (particularly tests related to JRaft, e.g. {{ITCliServiceTest}}{color:#000000})), {color}the following message can be seen in logs. This can probably happen due to an invalid shutdown order - we are closing the Netty event loop and are trying to send a message afterwards. h3. Proposed changes Currently, the `ClusterService` is closed by setting the `reuse` flag to `true` which is confusing and error-prone, because the service itself can be shared and propagated into different classes. It is proposed to always close this service externally, the same way we do it in the production code. {code:java} 2021-06-16 18:47:09:864 +0300 [main] WARN AbstractChannel - Force-closing a channel whose registration task was not accepted by an event loop: [id: 0x74fc195f] java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818) at io.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:471) at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:87) at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:81) at io.netty.channel.MultithreadEventLoopGroup.register(MultithreadEventLoopGroup.java:86) at io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:323) at io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:155) at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:139) at org.apache.ignite.internal.network.netty.NettyClient.start(NettyClient.java:119) at org.apache.ignite.internal.network.netty.ConnectionManager.connect(ConnectionManager.java:210) at org.apache.ignite.internal.network.netty.ConnectionManager.lambda$channel$1(ConnectionManager.java:167) at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932) at org.apache.ignite.internal.network.netty.ConnectionManager.channel(ConnectionManager.java:165) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$send$4(ScaleCubeDirectMarshallerTransport.java:171) at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:508) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.subscribe(Mono.java:4190) at reactor.core.publisher.Mono.subscribe(Mono.java:4126) at reactor.core.publisher.Mono.subscribe(Mono.java:4098) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$requestResponse$8(ScaleCubeDirectMarshallerTransport.java:255) at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.toFuture(Mono.java:4664) at org.apache.ignite.network.scalecube.ScaleCubeMessagingService.invoke(ScaleCubeMessagingService.java:125) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.send(IgniteRpcClient.java:165) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.invokeAsync(IgniteRpcClient.java:161) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:182) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:156) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:150) at org.apache.ignite.raft.jraft.rpc.impl.core.DefaultRaftClientService.timeoutNow(DefaultRaftClientService.java:118) at org.apache.ignite.raft.jraft.core.Replicator.timeoutNow(Replicator.java:1667) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNow(Replicator.java:1653) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNowAndStop(Replicator.java:1789) at org.apache.ignite.raft.jraft.core.NodeImpl.stepDown(NodeImpl.java:1276) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2749) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2428) at org.apache.ignite.raft.jraft.RaftGroupService.shutdown(RaftGroupService.java:181) at org.apache.ignite.raft.jraft.core.TestCluster.stop(TestCluster.java:269) at org.apache.ignite.raft.jraft.core.TestCluster.stopAll(TestCluster.java:276) at org.apache.ignite.raft.jraft.core.ITCliServiceTest.teardown(ITCliServiceTest.java:145) at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:126) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptAfterEachMethod(TimeoutExtension.java:108) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:490) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeAfterEachMethodAdapter$20(ClassBasedTestDescriptor.java:480) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachMethods$9(TestMethodTestDescriptor.java:236) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$12(TestMethodTestDescriptor.java:269) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:269) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:268) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachMethods(TestMethodTestDescriptor.java:234) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:52) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) 2021-06-16 18:47:09:864 +0300 [main] ERROR rejectedExecution - Failed to submit a listener notification task. Event loop shut down? java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818) at io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:842) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:499) at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:184) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) at org.apache.ignite.internal.network.netty.NettyUtils.toCompletableFuture(NettyUtils.java:46) at org.apache.ignite.internal.network.netty.NettyUtils.toChannelCompletableFuture(NettyUtils.java:76) at org.apache.ignite.internal.network.netty.NettyClient.start(NettyClient.java:119) at org.apache.ignite.internal.network.netty.ConnectionManager.connect(ConnectionManager.java:210) at org.apache.ignite.internal.network.netty.ConnectionManager.lambda$channel$1(ConnectionManager.java:167) at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932) at org.apache.ignite.internal.network.netty.ConnectionManager.channel(ConnectionManager.java:165) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$send$4(ScaleCubeDirectMarshallerTransport.java:171) at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:508) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.subscribe(Mono.java:4190) at reactor.core.publisher.Mono.subscribe(Mono.java:4126) at reactor.core.publisher.Mono.subscribe(Mono.java:4098) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$requestResponse$8(ScaleCubeDirectMarshallerTransport.java:255) at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.toFuture(Mono.java:4664) at org.apache.ignite.network.scalecube.ScaleCubeMessagingService.invoke(ScaleCubeMessagingService.java:125) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.send(IgniteRpcClient.java:165) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.invokeAsync(IgniteRpcClient.java:161) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:182) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:156) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:150) at org.apache.ignite.raft.jraft.rpc.impl.core.DefaultRaftClientService.timeoutNow(DefaultRaftClientService.java:118) at org.apache.ignite.raft.jraft.core.Replicator.timeoutNow(Replicator.java:1667) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNow(Replicator.java:1653) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNowAndStop(Replicator.java:1789) at org.apache.ignite.raft.jraft.core.NodeImpl.stepDown(NodeImpl.java:1276) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2749) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2428) at org.apache.ignite.raft.jraft.RaftGroupService.shutdown(RaftGroupService.java:181) at org.apache.ignite.raft.jraft.core.TestCluster.stop(TestCluster.java:269) at org.apache.ignite.raft.jraft.core.TestCluster.stopAll(TestCluster.java:276) at org.apache.ignite.raft.jraft.core.ITCliServiceTest.teardown(ITCliServiceTest.java:145) at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:126) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptAfterEachMethod(TimeoutExtension.java:108) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:490) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeAfterEachMethodAdapter$20(ClassBasedTestDescriptor.java:480) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachMethods$9(TestMethodTestDescriptor.java:236) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$12(TestMethodTestDescriptor.java:269) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:269) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:268) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachMethods(TestMethodTestDescriptor.java:234) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:52) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) {code} was: Sometimes when running tests (particularly tests related to JRaft, e.g. {{ITCliServiceTest}}{color:#000000})), {color}the following message can be seen in logs. This can probably happen due to an invalid shutdown order - we are closing the Netty event loop and are trying to send a message afterwards. {code:java} 2021-06-16 18:47:09:864 +0300 [main] WARN AbstractChannel - Force-closing a channel whose registration task was not accepted by an event loop: [id: 0x74fc195f] java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818) at io.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:471) at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:87) at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:81) at io.netty.channel.MultithreadEventLoopGroup.register(MultithreadEventLoopGroup.java:86) at io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:323) at io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:155) at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:139) at org.apache.ignite.internal.network.netty.NettyClient.start(NettyClient.java:119) at org.apache.ignite.internal.network.netty.ConnectionManager.connect(ConnectionManager.java:210) at org.apache.ignite.internal.network.netty.ConnectionManager.lambda$channel$1(ConnectionManager.java:167) at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932) at org.apache.ignite.internal.network.netty.ConnectionManager.channel(ConnectionManager.java:165) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$send$4(ScaleCubeDirectMarshallerTransport.java:171) at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:508) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.subscribe(Mono.java:4190) at reactor.core.publisher.Mono.subscribe(Mono.java:4126) at reactor.core.publisher.Mono.subscribe(Mono.java:4098) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$requestResponse$8(ScaleCubeDirectMarshallerTransport.java:255) at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.toFuture(Mono.java:4664) at org.apache.ignite.network.scalecube.ScaleCubeMessagingService.invoke(ScaleCubeMessagingService.java:125) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.send(IgniteRpcClient.java:165) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.invokeAsync(IgniteRpcClient.java:161) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:182) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:156) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:150) at org.apache.ignite.raft.jraft.rpc.impl.core.DefaultRaftClientService.timeoutNow(DefaultRaftClientService.java:118) at org.apache.ignite.raft.jraft.core.Replicator.timeoutNow(Replicator.java:1667) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNow(Replicator.java:1653) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNowAndStop(Replicator.java:1789) at org.apache.ignite.raft.jraft.core.NodeImpl.stepDown(NodeImpl.java:1276) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2749) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2428) at org.apache.ignite.raft.jraft.RaftGroupService.shutdown(RaftGroupService.java:181) at org.apache.ignite.raft.jraft.core.TestCluster.stop(TestCluster.java:269) at org.apache.ignite.raft.jraft.core.TestCluster.stopAll(TestCluster.java:276) at org.apache.ignite.raft.jraft.core.ITCliServiceTest.teardown(ITCliServiceTest.java:145) at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:126) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptAfterEachMethod(TimeoutExtension.java:108) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:490) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeAfterEachMethodAdapter$20(ClassBasedTestDescriptor.java:480) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachMethods$9(TestMethodTestDescriptor.java:236) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$12(TestMethodTestDescriptor.java:269) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:269) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:268) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachMethods(TestMethodTestDescriptor.java:234) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:52) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) 2021-06-16 18:47:09:864 +0300 [main] ERROR rejectedExecution - Failed to submit a listener notification task. Event loop shut down? java.util.concurrent.RejectedExecutionException: event executor terminated at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926) at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353) at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828) at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818) at io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:842) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:499) at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:184) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) at org.apache.ignite.internal.network.netty.NettyUtils.toCompletableFuture(NettyUtils.java:46) at org.apache.ignite.internal.network.netty.NettyUtils.toChannelCompletableFuture(NettyUtils.java:76) at org.apache.ignite.internal.network.netty.NettyClient.start(NettyClient.java:119) at org.apache.ignite.internal.network.netty.ConnectionManager.connect(ConnectionManager.java:210) at org.apache.ignite.internal.network.netty.ConnectionManager.lambda$channel$1(ConnectionManager.java:167) at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932) at org.apache.ignite.internal.network.netty.ConnectionManager.channel(ConnectionManager.java:165) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$send$4(ScaleCubeDirectMarshallerTransport.java:171) at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:508) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.subscribe(Mono.java:4190) at reactor.core.publisher.Mono.subscribe(Mono.java:4126) at reactor.core.publisher.Mono.subscribe(Mono.java:4098) at org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$requestResponse$8(ScaleCubeDirectMarshallerTransport.java:255) at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) at reactor.core.publisher.Mono.subscribe(Mono.java:4219) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) at reactor.core.publisher.Mono.toFuture(Mono.java:4664) at org.apache.ignite.network.scalecube.ScaleCubeMessagingService.invoke(ScaleCubeMessagingService.java:125) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.send(IgniteRpcClient.java:165) at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.invokeAsync(IgniteRpcClient.java:161) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:182) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:156) at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:150) at org.apache.ignite.raft.jraft.rpc.impl.core.DefaultRaftClientService.timeoutNow(DefaultRaftClientService.java:118) at org.apache.ignite.raft.jraft.core.Replicator.timeoutNow(Replicator.java:1667) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNow(Replicator.java:1653) at org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNowAndStop(Replicator.java:1789) at org.apache.ignite.raft.jraft.core.NodeImpl.stepDown(NodeImpl.java:1276) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2749) at org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2428) at org.apache.ignite.raft.jraft.RaftGroupService.shutdown(RaftGroupService.java:181) at org.apache.ignite.raft.jraft.core.TestCluster.stop(TestCluster.java:269) at org.apache.ignite.raft.jraft.core.TestCluster.stopAll(TestCluster.java:276) at org.apache.ignite.raft.jraft.core.ITCliServiceTest.teardown(ITCliServiceTest.java:145) at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:126) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptAfterEachMethod(TimeoutExtension.java:108) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:490) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeAfterEachMethodAdapter$20(ClassBasedTestDescriptor.java:480) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachMethods$9(TestMethodTestDescriptor.java:236) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$12(TestMethodTestDescriptor.java:269) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:269) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:268) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachMethods(TestMethodTestDescriptor.java:234) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:52) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) {code} > "java.util.concurrent.RejectedExecutionException: event executor terminated" > in test logs > ----------------------------------------------------------------------------------------- > > Key: IGNITE-14918 > URL: https://issues.apache.org/jira/browse/IGNITE-14918 > Project: Ignite > Issue Type: Bug > Reporter: Aleksandr Polovtcev > Assignee: Aleksandr Polovtcev > Priority: Minor > Labels: ignite-3 > Time Spent: 10m > Remaining Estimate: 0h > > Sometimes when running tests (particularly tests related to JRaft, e.g. > {{ITCliServiceTest}}{color:#000000})), {color}the following message can be > seen in logs. This can probably happen due to an invalid shutdown order - we > are closing the Netty event loop and are trying to send a message afterwards. > h3. Proposed changes > Currently, the `ClusterService` is closed by setting the `reuse` flag to > `true` which is confusing and error-prone, because the service itself can be > shared and propagated into different classes. It is proposed to always close > this service externally, the same way we do it in the production code. > {code:java} > 2021-06-16 18:47:09:864 +0300 [main] WARN AbstractChannel - Force-closing a > channel whose registration task was not accepted by an event loop: [id: > 0x74fc195f] > java.util.concurrent.RejectedExecutionException: event executor terminated > at > io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926) > at > io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353) > at > io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346) > at > io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828) > at > io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818) > at > io.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:471) > at > io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:87) > at > io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:81) > at > io.netty.channel.MultithreadEventLoopGroup.register(MultithreadEventLoopGroup.java:86) > at > io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:323) > at io.netty.bootstrap.Bootstrap.doResolveAndConnect(Bootstrap.java:155) > at io.netty.bootstrap.Bootstrap.connect(Bootstrap.java:139) > at > org.apache.ignite.internal.network.netty.NettyClient.start(NettyClient.java:119) > at > org.apache.ignite.internal.network.netty.ConnectionManager.connect(ConnectionManager.java:210) > at > org.apache.ignite.internal.network.netty.ConnectionManager.lambda$channel$1(ConnectionManager.java:167) > at > java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932) > at > org.apache.ignite.internal.network.netty.ConnectionManager.channel(ConnectionManager.java:165) > at > org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$send$4(ScaleCubeDirectMarshallerTransport.java:171) > at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:508) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) > at reactor.core.publisher.Mono.subscribe(Mono.java:4219) > at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) > at reactor.core.publisher.Mono.subscribe(Mono.java:4190) > at reactor.core.publisher.Mono.subscribe(Mono.java:4126) > at reactor.core.publisher.Mono.subscribe(Mono.java:4098) > at > org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$requestResponse$8(ScaleCubeDirectMarshallerTransport.java:255) > at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) > at reactor.core.publisher.Mono.subscribe(Mono.java:4219) > at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) > at reactor.core.publisher.Mono.toFuture(Mono.java:4664) > at > org.apache.ignite.network.scalecube.ScaleCubeMessagingService.invoke(ScaleCubeMessagingService.java:125) > at > org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.send(IgniteRpcClient.java:165) > at > org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.invokeAsync(IgniteRpcClient.java:161) > at > org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:182) > at > org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:156) > at > org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:150) > at > org.apache.ignite.raft.jraft.rpc.impl.core.DefaultRaftClientService.timeoutNow(DefaultRaftClientService.java:118) > at > org.apache.ignite.raft.jraft.core.Replicator.timeoutNow(Replicator.java:1667) > at > org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNow(Replicator.java:1653) > at > org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNowAndStop(Replicator.java:1789) > at > org.apache.ignite.raft.jraft.core.NodeImpl.stepDown(NodeImpl.java:1276) > at > org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2749) > at > org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2428) > at > org.apache.ignite.raft.jraft.RaftGroupService.shutdown(RaftGroupService.java:181) > at > org.apache.ignite.raft.jraft.core.TestCluster.stop(TestCluster.java:269) > at > org.apache.ignite.raft.jraft.core.TestCluster.stopAll(TestCluster.java:276) > at > org.apache.ignite.raft.jraft.core.ITCliServiceTest.teardown(ITCliServiceTest.java:145) > at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > at > org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) > at > org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) > at > org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) > at > org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:126) > at > org.junit.jupiter.engine.extension.TimeoutExtension.interceptAfterEachMethod(TimeoutExtension.java:108) > at > org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) > at > org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) > at > org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) > at > org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) > at > org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:490) > at > org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeAfterEachMethodAdapter$20(ClassBasedTestDescriptor.java:480) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachMethods$9(TestMethodTestDescriptor.java:236) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$12(TestMethodTestDescriptor.java:269) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:269) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:268) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachMethods(TestMethodTestDescriptor.java:234) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) > at > org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) > at > org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) > at > com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) > at > com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:52) > at > com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) > at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) > 2021-06-16 18:47:09:864 +0300 [main] ERROR rejectedExecution - Failed to > submit a listener notification task. Event loop shut down? > java.util.concurrent.RejectedExecutionException: event executor terminated > at > io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926) > at > io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353) > at > io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346) > at > io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828) > at > io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818) > at > io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:842) > at > io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:499) > at > io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:184) > at > io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:95) > at > io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:30) > at > org.apache.ignite.internal.network.netty.NettyUtils.toCompletableFuture(NettyUtils.java:46) > at > org.apache.ignite.internal.network.netty.NettyUtils.toChannelCompletableFuture(NettyUtils.java:76) > at > org.apache.ignite.internal.network.netty.NettyClient.start(NettyClient.java:119) > at > org.apache.ignite.internal.network.netty.ConnectionManager.connect(ConnectionManager.java:210) > at > org.apache.ignite.internal.network.netty.ConnectionManager.lambda$channel$1(ConnectionManager.java:167) > at > java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932) > at > org.apache.ignite.internal.network.netty.ConnectionManager.channel(ConnectionManager.java:165) > at > org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$send$4(ScaleCubeDirectMarshallerTransport.java:171) > at reactor.core.publisher.Mono.lambda$fromFuture$1(Mono.java:508) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44) > at reactor.core.publisher.Mono.subscribe(Mono.java:4219) > at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) > at reactor.core.publisher.Mono.subscribe(Mono.java:4190) > at reactor.core.publisher.Mono.subscribe(Mono.java:4126) > at reactor.core.publisher.Mono.subscribe(Mono.java:4098) > at > org.apache.ignite.network.scalecube.ScaleCubeDirectMarshallerTransport.lambda$requestResponse$8(ScaleCubeDirectMarshallerTransport.java:255) > at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) > at reactor.core.publisher.Mono.subscribe(Mono.java:4219) > at reactor.core.publisher.Mono.subscribeWith(Mono.java:4330) > at reactor.core.publisher.Mono.toFuture(Mono.java:4664) > at > org.apache.ignite.network.scalecube.ScaleCubeMessagingService.invoke(ScaleCubeMessagingService.java:125) > at > org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.send(IgniteRpcClient.java:165) > at > org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.invokeAsync(IgniteRpcClient.java:161) > at > org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:182) > at > org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:156) > at > org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService.invokeWithDone(AbstractClientService.java:150) > at > org.apache.ignite.raft.jraft.rpc.impl.core.DefaultRaftClientService.timeoutNow(DefaultRaftClientService.java:118) > at > org.apache.ignite.raft.jraft.core.Replicator.timeoutNow(Replicator.java:1667) > at > org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNow(Replicator.java:1653) > at > org.apache.ignite.raft.jraft.core.Replicator.sendTimeoutNowAndStop(Replicator.java:1789) > at > org.apache.ignite.raft.jraft.core.NodeImpl.stepDown(NodeImpl.java:1276) > at > org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2749) > at > org.apache.ignite.raft.jraft.core.NodeImpl.shutdown(NodeImpl.java:2428) > at > org.apache.ignite.raft.jraft.RaftGroupService.shutdown(RaftGroupService.java:181) > at > org.apache.ignite.raft.jraft.core.TestCluster.stop(TestCluster.java:269) > at > org.apache.ignite.raft.jraft.core.TestCluster.stopAll(TestCluster.java:276) > at > org.apache.ignite.raft.jraft.core.ITCliServiceTest.teardown(ITCliServiceTest.java:145) > at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > at > org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) > at > org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) > at > org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) > at > org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:126) > at > org.junit.jupiter.engine.extension.TimeoutExtension.interceptAfterEachMethod(TimeoutExtension.java:108) > at > org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) > at > org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) > at > org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) > at > org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) > at > org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) > at > org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext(ClassBasedTestDescriptor.java:490) > at > org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$synthesizeAfterEachMethodAdapter$20(ClassBasedTestDescriptor.java:480) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachMethods$9(TestMethodTestDescriptor.java:236) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$12(TestMethodTestDescriptor.java:269) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:269) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:268) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachMethods(TestMethodTestDescriptor.java:234) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) > at > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) > at > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) > at > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) > at > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) > at > org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) > at > org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) > at > org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) > at > com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) > at > com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:52) > at > com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) > at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)