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/02 14:57:00 UTC
[jira] [Commented] (IMPALA-11700) impala-shell fails to print the exception due to missing 'inner' attribute in TTransportException
[ https://issues.apache.org/jira/browse/IMPALA-11700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17627759#comment-17627759 ]
Michael Smith commented on IMPALA-11700:
----------------------------------------
This confuses me. https://github.com/apache/thrift/blob/50f97135ccc328aeb84b75d5374016abaa269da1/lib/py/src/transport/TTransport.py#L40 suggests Thrift 0.14.2's TTransportException should always have {{inner}} set, and we're catching TTransportException specifically.
Are you somehow using a different version of Thrift? Only other option I can think of is something extends TTransportException and doesn't call {{super}} to initialize it.
> 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: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org