[
https://issues.apache.org/jira/browse/IGNITE-20275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17760895#comment-17760895
]
Pavel Tupitsyn commented on IGNITE-20275:
-----------------------------------------
Merged to main: f7b464cef7c6df2c97f5557ea32dd07fe5abf869
> AssertionError in ClientInboundMessageHandler ctor - race condition
> -------------------------------------------------------------------
>
> Key: IGNITE-20275
> URL: https://issues.apache.org/jira/browse/IGNITE-20275
> Project: Ignite
> Issue Type: Bug
> Components: thin client
> Affects Versions: 3.0.0-beta1
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Blocker
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> {code}
> [2023-08-24T06:52:18,812][WARN
> ][TestServer--srv-worker-1][ChannelInitializer] Failed to initialize a
> channel. Closing: [id: 0x252ff875, L:/127.0.0.1:10903 - R:/127.0.0.1:52514]
> java.lang.AssertionError: null
> at
> org.apache.ignite.client.handler.ClientInboundMessageHandler.<init>(ClientInboundMessageHandler.java:215)
> ~[ignite-client-handler-3.0.0-SNAPSHOT.jar:?]
> at
> org.apache.ignite.client.handler.ClientHandlerModule.createInboundMessageHandler(ClientHandlerModule.java:291)
> ~[ignite-client-handler-3.0.0-SNAPSHOT.jar:?]
> at
> org.apache.ignite.client.handler.ClientHandlerModule$1.initChannel(ClientHandlerModule.java:254)
> ~[ignite-client-handler-3.0.0-SNAPSHOT.jar:?]
> at
> io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1114)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
> ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
> ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
> ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
> ~[netty-transport-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
> ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> ~[netty-common-4.1.87.Final.jar:4.1.87.Final]
> at java.lang.Thread.run(Thread.java:834) ~[?:?]
> {code}
> Looks like a race condition in *ClientHandlerModule* between:
> * clusterId = clusterIdSupplier.get().join();
> * createInboundMessageHandler (which passes clusterId to
> ClientInboundMessageHandler)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)