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

Joe McDonnell resolved IMPALA-11317.
------------------------------------
    Fix Version/s: Impala 4.2.0
       Resolution: Fixed

> TestImpalaShellInteractive.test_http_interactions_extra fails on Python 3
> -------------------------------------------------------------------------
>
>                 Key: IMPALA-11317
>                 URL: https://issues.apache.org/jira/browse/IMPALA-11317
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Clients
>    Affects Versions: Impala 4.2.0
>            Reporter: Joe McDonnell
>            Assignee: Joe McDonnell
>            Priority: Major
>             Fix For: Impala 4.2.0
>
>
> TestImpalaShellInteractive.test_http_interactions_extra is failing when using 
> a Python 3 impala-shell:
> {noformat}
> [gw2] linux2 -- Python 2.7.16 
> /home/joe/view2/Impala/bin/../infra/python/env-gcc7.5.0/bin/python
> self = <tests.shell.test_shell_interactive.TestImpalaShellInteractive object 
> at 0x7fe5b9dacb50>
> vector = <tests.common.test_vector.ImpalaTestVector object at 0x7fe5ba153dd0>
> http_503_server_extra = <tests.shell.test_shell_interactive.TestHTTPServer503 
> object at 0x7fe5b9dacbd0>    def test_http_interactions_extra(self, vector, 
> http_503_server_extra):
>       """Test interactions with the http server when using hs2-http protocol.
>         Check that the shell prints a good message when the server returns a 
> 503 error,
>         including the body text from the message."""
>       protocol = vector.get_value("protocol")
>       if protocol != 'hs2-http':
>         pytest.skip()
>     
>       # Check that we get a message about the 503 error when we try to 
> connect.
>       shell_args = ["--protocol={0}".format(protocol),
>                     "-i{0}:{1}".format(http_503_server_extra.HOST,
>                                        http_503_server_extra.PORT)]
>       shell_proc = spawn_shell([IMPALA_SHELL_EXECUTABLE] + shell_args)
> >     shell_proc.expect("HTTP code 503: Service Unavailable \[EXTRA\]", 
> > timeout=10)shell/test_shell_interactive.py:1201: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> ../infra/python/env-gcc7.5.0/lib/python2.7/site-packages/pexpect/__init__.py:1451:
>  in expect
>     timeout, searchwindowsize)
> ../infra/python/env-gcc7.5.0/lib/python2.7/site-packages/pexpect/__init__.py:1466:
>  in expect_list
>     timeout, searchwindowsize)
> {noformat}
> It is expecting "HTTP code 503: Service Unavailable \[EXTRA\]", but it gets 
> "HTTP code 503: Service Unavailable [b'EXTRA']". Python 3 is treating the 
> "EXTRA" as a series of bytes, and that changes the printing. This could use a 
> decode() call here:
> https://github.com/apache/impala/blob/master/shell/ImpalaHttpClient.py#L365-L366



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to