IMPALA-8932: shell shouldn't retry kerberos over http

Change-Id: I5dde277a6a0ddbe5a919bcf376bbc19f0b48e95e
Reviewed-on: http://gerrit.cloudera.org:8080/14201
Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
Tim Armstrong
2019-09-09 16:48:45 -07:00
committed by Impala Public Jenkins
parent 19cb8dc1c1
commit 954e810b0e
2 changed files with 5 additions and 1 deletions

View File

@@ -376,6 +376,9 @@ class ImpalaClient(object):
" HTTP transport.")
# HTTP server implemententations do not support SPNEGO yet.
# TODO: when we add support for Kerberos+HTTP, we need to re-enable the automatic
# kerberos retry logic in impala_shell.py that was disabled for HTTP because of
# IMPALA-8932.
if self.use_kerberos or self.kerberos_host_fqdn:
print_to_stderr("Kerberos not supported with HTTP endpoints.")
raise NotImplementedError()

View File

@@ -813,7 +813,8 @@ class ImpalaShell(object, cmd.Cmd):
# If the connection fails and the Kerberos has not been enabled,
# check for a valid kerberos ticket and retry the connection
# with kerberos enabled.
if not self.imp_client.connected and not self.use_kerberos:
# IMPALA-8932: Kerberos is not yet supported for hs2-http, so don't retry.
if not self.imp_client.connected and not self.use_kerberos and protocol != 'hs2-http':
try:
if call(["klist", "-s"]) == 0:
print_to_stderr("Kerberos ticket found in the credentials cache, retrying "