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

Sahil Takiar updated HIVE-19785:
--------------------------------
    Description: 
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.

  was:
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.


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

Reply via email to