[ 
https://issues.apache.org/jira/browse/IGNITE-26811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roman Puchkovskiy reassigned IGNITE-26811:
------------------------------------------

    Assignee: Roman Puchkovskiy

> HandshakeException is thrown when node is stopping
> --------------------------------------------------
>
>                 Key: IGNITE-26811
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26811
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: MakeTeamcityGreenAgain, ignite-3
>         Attachments: _Integration_Tests_Module_Index_23435.log.zip
>
>
> Easily reproduced in 
> ItBuildIndexTest.writeIntentFromTxAbandonedWhileWaitingForTransactionsToFinishShouldNotBeIndexed
> Example: 
> [https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_IntegrationTests_ModuleIndex/9573759]
>  
>  
> {noformat}
> [2025-10-22T08:05:41,973][ERROR][ibit_n_3345-network-worker-9][FailureManager]
>  Critical system error detected. Will be handled accordingly to configured 
> handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler 
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=CRITICAL_ERROR, 
> failureCtxId=10a4d0fe-dc04-4c76-9abd-219037a4adad]
> org.apache.ignite.internal.failure.StackTraceCapturingException: Error 
> starting index task: 28
> at 
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:192)
> at 
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:169)
> at 
> org.apache.ignite.internal.index.ChangeIndexStatusTask.handleStatusSwitchException(ChangeIndexStatusTask.java:228)
> at 
> org.apache.ignite.internal.index.ChangeIndexStatusTask.lambda$start$4(ChangeIndexStatusTask.java:191)
> at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
> at 
> java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
> at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at 
> org.apache.ignite.internal.future.OrderingFuture$ThenComposeToCompletable.onCompletion(OrderingFuture.java:576)
> at 
> org.apache.ignite.internal.future.OrderingFuture$ListNode.notifyHeadToTail(OrderingFuture.java:703)
> at 
> org.apache.ignite.internal.future.OrderingFuture.notifyDependents(OrderingFuture.java:259)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeNotificationStage(OrderingFuture.java:224)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeInternal(OrderingFuture.java:185)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeExceptionally(OrderingFuture.java:160)
> at 
> org.apache.ignite.internal.future.OrderingFuture$ThenCompose.accept(OrderingFuture.java:631)
> at 
> org.apache.ignite.internal.future.OrderingFuture$ThenCompose.accept(OrderingFuture.java:601)
> at 
> org.apache.ignite.internal.future.OrderingFuture.acceptQuietly(OrderingFuture.java:304)
> at 
> org.apache.ignite.internal.future.OrderingFuture.whenComplete(OrderingFuture.java:287)
> at 
> org.apache.ignite.internal.future.OrderingFuture$ThenCompose.onCompletion(OrderingFuture.java:622)
> at 
> org.apache.ignite.internal.future.OrderingFuture$ListNode.notifyHeadToTail(OrderingFuture.java:703)
> at 
> org.apache.ignite.internal.future.OrderingFuture.notifyDependents(OrderingFuture.java:259)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeNotificationStage(OrderingFuture.java:224)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeInternal(OrderingFuture.java:185)
> at 
> org.apache.ignite.internal.future.OrderingFuture.complete(OrderingFuture.java:151)
> at 
> org.apache.ignite.internal.future.OrderingFuture$Handle.onCompletion(OrderingFuture.java:557)
> at 
> org.apache.ignite.internal.future.OrderingFuture.notifyDependents(OrderingFuture.java:259)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeNotificationStage(OrderingFuture.java:224)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeInternal(OrderingFuture.java:185)
> at 
> org.apache.ignite.internal.future.OrderingFuture.completeExceptionally(OrderingFuture.java:160)
> at 
> org.apache.ignite.internal.future.OrderingFuture.lambda$adapt$0(OrderingFuture.java:136)
> at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
> at 
> java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
> at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at 
> java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
> at 
> org.apache.ignite.internal.network.recovery.RecoveryInitiatorHandshakeManager.lambda$new$0(RecoveryInitiatorHandshakeManager.java:149)
> at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
> at 
> java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
> at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
> at 
> org.apache.ignite.internal.network.recovery.HandshakeManagerUtils.lambda$sendRejectionMessageAndFailHandshake$0(HandshakeManagerUtils.java:73)
> at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
> at 
> java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
> at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at 
> java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
> at 
> org.apache.ignite.internal.network.netty.NettyUtils.lambda$toCompletableFuture$0(NettyUtils.java:70)
> at 
> io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:604)
> at 
> io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:571)
> at 
> io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:506)
> at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:650)
> at 
> io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:639)
> at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:119)
> at 
> io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
> at 
> io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.success(ChunkedWriteHandler.java:392)
> at 
> io.netty.handler.stream.ChunkedWriteHandler.handleEndOfInputFuture(ChunkedWriteHandler.java:348)
> at 
> io.netty.handler.stream.ChunkedWriteHandler.access$100(ChunkedWriteHandler.java:70)
> at 
> io.netty.handler.stream.ChunkedWriteHandler$2.operationComplete(ChunkedWriteHandler.java:303)
> at 
> io.netty.handler.stream.ChunkedWriteHandler$2.operationComplete(ChunkedWriteHandler.java:300)
> at 
> io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:604)
> at 
> io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:571)
> at 
> io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:506)
> at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:650)
> at 
> io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:639)
> at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:119)
> at 
> io.netty.util.internal.PromiseNotificationUtil.trySuccess(PromiseNotificationUtil.java:48)
> at 
> io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:747)
> at 
> io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:302)
> at 
> io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:382)
> at 
> io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:414)
> at 
> io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:802)
> at 
> io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:404)
> at 
> io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:766)
> at 
> io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1391)
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:789)
> at 
> io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:775)
> at 
> io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:761)
> at 
> io.netty.handler.flush.FlushConsolidationHandler.flushNow(FlushConsolidationHandler.java:204)
> at 
> io.netty.handler.flush.FlushConsolidationHandler.flushIfNeeded(FlushConsolidationHandler.java:197)
> at 
> io.netty.handler.flush.FlushConsolidationHandler.resetReadAndFlushIfNeeded(FlushConsolidationHandler.java:192)
> at 
> io.netty.handler.flush.FlushConsolidationHandler.channelReadComplete(FlushConsolidationHandler.java:145)
> at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:384)
> at 
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1434)
> at 
> io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:932)
> at 
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:173)
> at 
> io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445)
> at 
> io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:388)
> at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:596)
> at 
> io.netty.channel.nio.NioIoHandler.processSelectedKeysOptimized(NioIoHandler.java:571)
> at 
> io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:512)
> at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:484)
> at 
> io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225)
> at 
> io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196)
> at 
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1193)
> 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:833)
> Caused by: java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.network.handshake.HandshakeException: 
> ibit_n_3346:74739a39-b475-430e-9dd2-f64da5080439 is stale, node should be 
> restarted so that other nodes can connect
> at 
> org.apache.ignite.internal.index.ChangeIndexStatusTask.lambda$awaitFinishRwTxsBeforeCatalogVersion$14(ChangeIndexStatusTask.java:355)
> at 
> java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990)
> at 
> java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:974)
> ... 90 more
> Caused by: org.apache.ignite.internal.network.handshake.HandshakeException: 
> ibit_n_3346:74739a39-b475-430e-9dd2-f64da5080439 is stale, node should be 
> restarted so that other nodes can connect
> ... 56 more
>  
> {noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to