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

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