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

Michael Smith closed IMPALA-11700.
----------------------------------
    Resolution: Won't Fix

Weird dev issue and no longer supporting Python 2.

> impala-shell fails to print the exception due to missing 'inner' attribute in 
> TTransportException
> -------------------------------------------------------------------------------------------------
>
>                 Key: IMPALA-11700
>                 URL: https://issues.apache.org/jira/browse/IMPALA-11700
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Quanlong Huang
>            Priority: Major
>
> There are some issues in my impalads so my impala-shell can't connet to them. 
> However, the error message is not printed correctly. What it said is
> {noformat}
> Error connecting: AttributeError, 'TTransportException' object has no 
> attribute 'inner'
> {noformat}
> I'm using Python2. Here is the full output:
> {noformat}
> $ bin/impala-shell.sh 
> Starting Impala Shell with no authentication using Python 2.7.16
> Opened TCP connection to localhost:21050
> Error connecting: AttributeError, 'TTransportException' object has no 
> attribute 'inner'
> ***********************************************************************************
> Welcome to the Impala shell.
> (impala shell build version not available)
> 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.
> ***********************************************************************************
> [Not connected] >{noformat}
> After manually removing some code in _do_hs2_rpc() of shell/impala_client.py:
> {code:python}
> diff --git a/shell/impala_client.py b/shell/impala_client.py
> index 36fa4a6b8..b78ed8272 100755
> --- a/shell/impala_client.py
> +++ b/shell/impala_client.py
> @@ -1031,9 +1031,6 @@ class ImpalaHS2Client(ImpalaClient):
>        try:
>          return rpc()
>        except TTransportException as e:
> -        # Unwrap socket.error so we can handle it directly.
> -        if isinstance(e.inner, socket.error):
> -          e = e.inner
>          # issue with the connection with the impalad
>          print('Caught exception {0}, type={1} in {2}. {3}'
>            .format(str(e), type(e), rpc.__name__, retry_msg), file=sys.stderr)
> {code}
> I'm able to let impala-shell print the error:
> {noformat}
> Starting Impala Shell with no authentication using Python 2.7.16
> Opened TCP connection to localhost:21050
> Caught exception TSocket read 0 bytes, type=<class 
> 'thrift.transport.TTransport.TTransportException'> in OpenSession. 
> Error connecting: DisconnectedException, Error communicating with impalad: 
> TSocket read 0 bytes
> ***********************************************************************************
> Welcome to the Impala shell.
> (impala shell build version not available)
> Run the PROFILE command after a query has finished to see a comprehensive 
> summary
> of all the performance and diagnostic information that Impala gathered for 
> that
> query. Be warned, it can be very long!
> ***********************************************************************************
> [Not connected] >{noformat}
> So probably we should check whether TTransportException has the 'inner' 
> attribute before using it.
> CC [~MikaelSmith] since the code is added in IMPALA-11389.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to