You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Csaba Ringhofer (JIRA)" <ji...@apache.org> on 2018/06/18 13:31:00 UTC

[jira] [Commented] (IMPALA-7130) impala-shell -b / --kerberos_host_fqdn flag overrides value passed in via -i

    [ https://issues.apache.org/jira/browse/IMPALA-7130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16515700#comment-16515700 ] 

Csaba Ringhofer commented on IMPALA-7130:
-----------------------------------------

[~thundergun]
I have seen some tests failing at test_socket_opening (https://jenkins.impala.io/job/gerrit-verify-dryrun/2691/consoleFull). Port 42000 is in the ephemeral range, so some process may randomly use it, which makes the test inherently flaky.

> impala-shell -b / --kerberos_host_fqdn flag overrides value passed in via -i
> ----------------------------------------------------------------------------
>
>                 Key: IMPALA-7130
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7130
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Clients
>    Affects Versions: Impala 3.0, Impala 2.12.0
>            Reporter: Vincent Tran
>            Assignee: Vincent Tran
>            Priority: Critical
>             Fix For: Impala 2.13.0, Impala 3.1.0
>
>
> When impala-shell -b / --kerberos_host_fqdn is used, the value will override one passed in via -i / --impalad.
> This leads to the socket being created with the former value in the case when -b is used.
> The problematic section of code is here
> {noformat}
>     if self.kerberos_host_fqdn is not None:
>       host, port = (self.kerberos_host_fqdn.split(':')[0].encode('ascii', 'ignore'),
>             int(self.impalad[1]))
>     else:
>       host, port = self.impalad[0].encode('ascii', 'ignore'), int(self.impalad[1])
>     if self.use_ssl:
>       if self.ca_cert is None:
>         # No CA cert means don't try to verify the certificate
>         sock = TSSLSocketWithWildcardSAN(host, port, validate=False)
>       else:
>         sock = TSSLSocketWithWildcardSAN(host, port, validate=True, ca_certs=self.ca_cert)
>     else:
>       sock = TSocket(host, port)
>     if not (self.use_ldap or self.use_kerberos):
>       return TBufferedTransport(sock)
> {noformat}
> The proposed fix is to always create the socket with the host passed in via -i
> {noformat}
> self.impalad[0].encode('ascii', 'ignore')
> {noformat}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org