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 "Fang-Yu Rao (Jira)" <ji...@apache.org> on 2025/08/28 19:40:00 UTC
[jira] [Commented] (IMPALA-14364) __fetch_results_and_profile() in impala_connection.py always fetches query profile even though fetch_profile_after_close is False
[ https://issues.apache.org/jira/browse/IMPALA-14364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18016867#comment-18016867 ]
Fang-Yu Rao commented on IMPALA-14364:
--------------------------------------
It looks like when instantiating an ImpylaHS2Connection in [https://github.com/apache/impala/blob/master/tests/common/impala_connection.py], we could specify the value of '{*}collect_profile_and_log{*}' to set up the field '_collect_profile_and_log' of the {*}ImpylaHS2Connection{*}.
'_collect_profile_and_log' will in turn be used to determine whether to get the runtime/query profile in __fetch_results().
{code:java}
if self._collect_profile_and_log:
log = self.get_log(handle)
profile = self.get_runtime_profile(handle, profile_format=profile_format)
{code}
So I think the fix would be to allow a user to provide the value of 'collect_profile_and_log' when using create_impala_client() in [https://github.com/apache/impala/blob/master/tests/common/impala_test_suite.py] to create an Impala client.
This is not an issue when authorization is not enabled so very few developers would really care about this.
> __fetch_results_and_profile() in impala_connection.py always fetches query profile even though fetch_profile_after_close is False
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: IMPALA-14364
> URL: https://issues.apache.org/jira/browse/IMPALA-14364
> Project: IMPALA
> Issue Type: Bug
> Reporter: Fang-Yu Rao
> Priority: Major
>
> It seems __fetch_results_and_profile() in [impala_connection.py|https://github.com/apache/impala/blame/master/tests/common/impala_connection.py] always fetches query profile even though 'fetch_profile_after_close' is set to False by default.
> {code}
> tests/common/impala_connection.py:692: in execute
> fetch_exec_summary=fetch_exec_summary, profile_format=profile_format)
> tests/common/impala_connection.py:705: in __fetch_results_and_profile
> profile_format=profile_format)
> tests/common/impala_connection.py:884: in __fetch_results
> profile = self.get_runtime_profile(handle, profile_format=profile_format)
> tests/common/impala_connection.py:796: in get_runtime_profile
> return cursor.get_profile(profile_format=profile_format)
> infra/python/env-gcc10.4.0/lib/python2.7/site-packages/impala/hiveserver2.py:723: in get_profile
> return self._last_operation.get_profile(profile_format=profile_format)
> infra/python/env-gcc10.4.0/lib/python2.7/site-packages/impala/hiveserver2.py:1478: in get_profile
> resp = self._rpc('GetRuntimeProfile', req, True)
> infra/python/env-gcc10.4.0/lib/python2.7/site-packages/impala/hiveserver2.py:1181: in _rpc
> err_if_rpc_not_ok(response)
> infra/python/env-gcc10.4.0/lib/python2.7/site-packages/impala/hiveserver2.py:867: in err_if_rpc_not_ok
> raise HiveServer2Error(resp.status.errorMessage)
> E HiveServer2Error: Query 08433dc2db06b027:1832788200000000 failed:
> E User non_owner is not authorized to access the runtime profile or execution summary.
> {code}
> This could/would be a problem if a user is authorized to SELECT a view but not the referenced table(s)/view(s) by the view. In such a case, we expect the execution of the query to be successful but execute() throws an exception.
--
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