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

Sailesh Mukil resolved IMPALA-5394.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 2.11.0

Commit in:
https://github.com/apache/incubator-impala/commit/4dd0f1b3d84f67eb40bf671160b057be9bbdb921

> Set socket timeouts while opening TSaslTransport
> ------------------------------------------------
>
>                 Key: IMPALA-5394
>                 URL: https://issues.apache.org/jira/browse/IMPALA-5394
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Distributed Exec
>    Affects Versions: Impala 2.8.0
>         Environment: Kerberos
>            Reporter: Doug Cameron
>            Assignee: John Sherman
>            Priority: Critical
>             Fix For: Impala 2.11.0
>
>
> Similar to IMPALA-3875, on a kerberized system, when the HS2 server does the 
> initial SASL negotiation after the open, if the client never sends any data, 
> the read() will hang and hangs the entire server port.
> In detail:
> {code}
> - TThreadPoolServer calls getTransport() on a client from the Server
>       thread (the thread that does the accepts).
>       - TSaslServerTransport->getTransport() calls TSaslTransport->open()
>       - TSaslServerTransport->open() tries to negotiate SASL which calls
>         read/write
>         - If read/write blocks, the TThreadPoolServer cannot accept
>           connections
>     - This can be demonstrated by running against a kerberos enabled cluster:
>             nc <impala host> <hs2 port> &
>       then trying to connect to the hs2 port via beeline. The beeline
>       connection will hang until the nc process is killed.
>     - Can fix by setting the underlying TSocket recvTimeout and sendTimeout
>       before the TSaslServerTransport->open() and reset them to 0 after
>       open() completes.
>     - Consider adding sasl_connect_tcp_timeout_seconds command line option 
> (defaults to 10, 0 to disable)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to