You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Michael Smith (Jira)" <ji...@apache.org> on 2022/11/28 18:47:00 UTC
[jira] [Created] (IMPALA-11755) Impala-shell ldap_password_cmd fails on Python 3.8
Michael Smith created IMPALA-11755:
--------------------------------------
Summary: Impala-shell ldap_password_cmd fails on Python 3.8
Key: IMPALA-11755
URL: https://issues.apache.org/jira/browse/IMPALA-11755
Project: IMPALA
Issue Type: Bug
Components: Clients
Affects Versions: Impala 4.2.0
Reporter: Michael Smith
Python 2 - Works
{code:java}
(impala-shell-py2) ➜ ~ python --version
Python 2.7.18
(impala-shell-py2) ➜ ~ impala-shell --protocol='hs2-http' --ssl -i 'coordinator-impala-default.apps.ecs.sme-clev.athens.cloudera.com:443' -u clevesque -l --ldap_password_cmd='echo -n "Cloudera#123"'
Starting Impala Shell with LDAP-based authentication using Python 2.7.18
SSL is enabled. Impala server certificates will NOT be verified (set --ca_cert to change)
Warning: --connect_timeout_ms is currently ignored with HTTP transport.
Opened TCP connection to coordinator-impala-default.apps.ecs.sme-clev.athens.cloudera.com:443
Connected to coordinator-impala-default.apps.ecs.sme-clev.athens.cloudera.com:443
Server version: impalad version 4.0.0.2022.0.10.1-8 RELEASE (build 6ce64f72f0795f7331c93f1d1679a6426c33592d)
***********************************************************************************
Welcome to the Impala shell.
(Impala Shell v4.1.1-RELEASE (1d7b631) built on Mon Oct 17 14:08:01 PDT 2022)You can change the Impala daemon that you're connected to by using the CONNECT
command.To see how Impala will plan to run your query without actually executing
it, use the EXPLAIN command. You can change the level of detail in the EXPLAIN
output by setting the EXPLAIN_LEVEL query option.
***********************************************************************************
[coordinator-impala-default.apps.ecs.sme-clev.athens.cloudera.com:443] default>
[coordinator-impala-default.apps.ecs.sme-clev.athens.cloudera.com:443] default> Goodbye clevesque {code}
Python 3.8
{code:java}
(python38-impala-shell) ➜ ~ python --version
Python 3.8.15
(python38-impala-shell) ➜ ~
(python38-impala-shell) ➜ ~ impala-shell --protocol='hs2-http' --ssl -i 'coordinator-impala-default.apps.ecs.sme-clev.athens.cloudera.com:443' -u clevesque -l --ldap_password_cmd='echo -n "Cloudera#123"'
Starting Impala Shell with LDAP-based authentication using Python 3.8.15
SSL is enabled. Impala server certificates will NOT be verified (set --ca_cert to change)
Warning: --connect_timeout_ms is currently ignored with HTTP transport.
Opened TCP connection to coordinator-impala-default.apps.ecs.sme-clev.athens.cloudera.com:443
Caught exception HTTP code 401: Unauthorized, type=<class 'shell_exceptions.HttpError'> in OpenSession. Num remaining tries: 3
Caught exception HTTP code 401: Unauthorized, type=<class 'shell_exceptions.HttpError'> in OpenSession. Num remaining tries: 2
Caught exception HTTP code 401: Unauthorized, type=<class 'shell_exceptions.HttpError'> in OpenSession. Num remaining tries: 1
Caught exception HTTP code 401: Unauthorized, type=<class 'shell_exceptions.HttpError'> in OpenSession. Num remaining tries: 0
Traceback (most recent call last):
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_shell.py", line 1006, in _connect
self.server_version, self.webserver_address = self.imp_client.connect()
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_client.py", line 184, in connect
self._open_session()
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_client.py", line 677, in _open_session
resp = self._do_hs2_rpc(OpenSession, retry_on_error=True)
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_client.py", line 1021, in _do_hs2_rpc
return rpc()
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_client.py", line 673, in OpenSession
return self.imp_service.OpenSession(open_session_req)
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/TCLIService/TCLIService.py", line 188, in OpenSession
self.send_OpenSession(req)
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/TCLIService/TCLIService.py", line 197, in send_OpenSession
self._oprot.trans.flush()
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/thrift/transport/TTransport.py", line 178, in flush
self.__trans.flush()
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/ImpalaHttpClient.py", line 275, in flush
raise HttpError(self.code, self.message, body, self.headers)
shell_exceptions.HttpError: HTTP code 401: UnauthorizedDuring handling of the above exception, another exception occurred:Traceback (most recent call last):
File "/home/manishm/.virtualenvs/python38-impala-shell/bin/impala-shell", line 8, in <module>
sys.exit(impala_shell_main())
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_shell.py", line 2111, in impala_shell_main
with ImpalaShell(options, query_options) as shell:
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_shell.py", line 294, in __init__
self.do_connect(options.impalad)
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_shell.py", line 952, in do_connect
self._connect()
File "/home/manishm/.virtualenvs/python38-impala-shell/lib/python3.8/site-packages/impala_shell/impala_shell.py", line 1046, in _connect
self.ldap_password.endswith('\n'):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str
(python38-impala-shell) ➜ ~
{code}
Can we please test and fix for all supported Python 3 versions.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)