[ 
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)

Reply via email to