[ https://issues.apache.org/jira/browse/HIVE-19785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16500551#comment-16500551 ]
Sahil Takiar commented on HIVE-19785: ------------------------------------- I'm seeing extraneous exceptions such as: {code} 018-05-29 15:29:39,389 INFO org.apache.hive.spark.client.rpc.RpcServer$SaslServerHandler: [RPC-Handler-3]: Exception in SASL negotiation. java.lang.IllegalArgumentException: Unexpected client ID '8680fd2f-0b0f-45fa-8dd3-e89d06072f76' in SASL handshake. at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119) ~[guava-14.0.1.jar:?] at org.apache.hive.spark.client.rpc.RpcServer$SaslServerHandler.update(RpcServer.java:284) ~[hive-exec-2.1.1-SNAPSHOT.jar:2.1.1-SNAPSHOT] at org.apache.hive.spark.client.rpc.SaslHandler.channelRead0(SaslHandler.java:59) ~[hive-exec-2.1.1-SNAPSHOT.jar:2.1.1-SNAPSHOT] at org.apache.hive.spark.client.rpc.SaslHandler.channelRead0(SaslHandler.java:34) ~[hive-exec-2.1.1-SNAPSHOT.jar:2.1.1-SNAPSHOT] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) ~[netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [netty-codec-4.1.17.Final.jar:4.1.17.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [netty-codec-4.1.17.Final.jar:4.1.17.Final] at io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103) [netty-codec-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:138) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) [netty-transport-4.1.17.Final.jar:4.1.17.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [netty-common-4.1.17.Final.jar:4.1.17.Final] {code} > Race condition when timeout task is invoked during SASL negotation > ------------------------------------------------------------------ > > Key: HIVE-19785 > URL: https://issues.apache.org/jira/browse/HIVE-19785 > Project: Hive > Issue Type: Sub-task > Components: Spark > Reporter: Sahil Takiar > Priority: Major > > There is a race condition that leads to some extraneous exception messages > when the timeout task is invoked in {{RpcServer}}. > If a timeout is triggered by {{RpcServer#registerClient}} the method will > remove the {{clientId}} from {{pendingClients}}. However, if the SASL > negotiation is in progress when the timeout task is invoked, then > {{SaslServerHandler#update}} will throw an {{IllegalArgumentException}} > complaining that it can't find the {{clientId}} in the map of > {{pendingClients}}. > The timeout still succeeds, but the logging is confusing and multiple > exceptions make this difficult to debug. -- This message was sent by Atlassian JIRA (v7.6.3#76005)