You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "David Knupp (JIRA)" <ji...@apache.org> on 2018/03/22 23:43:00 UTC

[jira] [Closed] (IMPALA-6716) ImpalaShell should not rely on global access to parsed command line options

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

David Knupp closed IMPALA-6716.
-------------------------------
       Resolution: Fixed
    Fix Version/s: Impala 3.0

> ImpalaShell should not rely on global access to parsed command line options
> ---------------------------------------------------------------------------
>
>                 Key: IMPALA-6716
>                 URL: https://issues.apache.org/jira/browse/IMPALA-6716
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Clients
>    Affects Versions: Impala 3.0, Impala 2.12.0
>            Reporter: David Knupp
>            Assignee: David Knupp
>            Priority: Major
>             Fix For: Impala 3.0
>
>
> A recent patch to address a problem line breaks in LDAP passwords (IMPALA-6610) can, in rare instances (e.g., when running the shell as an installed python package), result in an exception being thrown if the call to {{_connect()}} fails.
> {noformat}
> $ impala-shell -i foo
> Starting Impala Shell without Kerberos authentication
> Traceback (most recent call last):
>  File "/home/systest/shellenv/bin/impala-shell", line 11, in <module>
>  load_entry_point('impala-shell', 'console_scripts', 'impala-shell')()
>  File "/home/systest/Impala/shell/packaging/staging/impala_shell/impala_shell.py", line 1588, in main
>  shell = ImpalaShell(options, query_options)
>  File "/home/systest/Impala/shell/packaging/staging/impala_shell/impala_shell.py", line 209, in __init__
>  self.do_connect(options.impalad)
>  File "/home/systest/Impala/shell/packaging/staging/impala_shell/impala_shell.py", line 755, in do_connect
>  self._connect()
>  File "/home/systest/Impala/shell/packaging/staging/impala_shell/impala_shell.py", line 821, in _connect
>  if options.ldap_password_cmd and \
> NameError: global name 'options' is not defined
> {noformat}
> The error is actually in the connection failure handling code:
> https://github.com/apache/impala/blob/master/shell/impala_shell.py#L821
> The problem is that the shell instance should not assume continued access to the options returned from {{parser.parse_args().}} In most cases, we store those values directly as member variables of the shell. We should do the same with all LDAP-related values, and then access those member variables.



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