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] [Updated] (IMPALA-11755) Impala-shell ldap_password_cmd fails on Python 3.8

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

Michael Smith updated IMPALA-11755:
-----------------------------------
    Target Version: Impala 4.3.0

> 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
>            Priority: Major
>              Labels: python3
>
> 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