[
https://issues.apache.org/jira/browse/HIVE-28579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitriy Fingerman updated HIVE-28579:
-------------------------------------
Description:
When operational log is displayed, it shows exception stack traces and other
messages in Hue and Beeline (see screenshot attached).
This log contains messages for a specific query id and is intended for Hive
clients.
Hive clients fetch the operational log using Hive-specific jdbc method
*HiveStatement.getQueryLog.*
Currently, when '{*}hive.server2.async.exec.async.compile{*}' {*}=
'{*}{*}true{*}' and an exception happens, an operational log is not displayed
in Beeline and Hue (because stmtHandle is empty) and only exception message is
displayed.
When *'hive.server2.async.exec.async.compile' = 'false'* and operational log
level != 'NONE'{*},{*} operational log is displayed with exception stack trace
in Beeline and Hue and also exception message is displayed.
The following settings control operational log behavior:
* {*}Hive.server2.logging.operation.enabled{*}: ** true/false (true by default)
* {*}hive.server2.logging.operation.level{*}:
*
** NONE: Ignore any logging
** EXECUTION: Log completion of tasks
** PERFORMANCE: Execution + Performance logs
** VERBOSE: All logs
* Log level can be changed on session level.
* Upstream and downstream the default log level is {{{}EXECUTION{}}}, which
displays exception stack traces which is not good as a default for
non-technical users.
End-users do not need to see exception stack traces by default, but when a
query fails they should know Query ID, because using one they can find stack
traces and other info in HiveServer2 log.
Proposing to change *hive.server2.logging.operation.level* {{to NONE by default
and to add Query ID to HiveSQLException when the level is NONE or when
'hive.server2.async.exec.async.compile' = true, because in these 2 cases the
operational log is not displayed.}}
was:
When operational log is displayed, it shows exception stack traces and other
messages in Hue and Beeline (see screenshot attached) .
This log contains messages for a specific query id and is intended for Hive
clients.
Hive clients fetch the operational log using Hive-specific jdbc method
*HiveStatement.getQueryLog.*
Currently, when '{*}hive.server2.async.exec.async.compile{*}' {*}=
'{*}{*}true{*}' and an exception happens, an operational log is not displayed
in Beeline and Hue (because stmtHandle is empty) and only exception message is
displayed.
When *'hive.server2.async.exec.async.compile' = 'false'* and operational log
level != 'NONE'{*},{*} operational log is displayed with exception stack trace
in Beeline and Hue and also exception message is displayed.
The following settings control operational log behavior:
* {*}Hive.server2.logging.operation.enabled{*}: ** true/false (true by default)
* {*}hive.server2.logging.operation.level{*}:
*
** NONE: Ignore any logging
** EXECUTION: Log completion of tasks
** PERFORMANCE: Execution + Performance logs
** VERBOSE: All logs
* Log level can be changed on session level.
* Upstream and downstream the default log level is {{{}EXECUTION{}}}, which
displays exception stack traces which is not good as a default for
non-technical users.
End-users do not need to see exception stack traces by default, but when a
query fails they should know Query ID, because using one they can find stack
traces and other info in HiveServer2 log.
Proposing to change *hive.server2.logging.operation.level* {{to NONE by default
and to add Query ID to HiveSQLException when the level is NONE or when
'hive.server2.async.exec.async.compile' = true, because in these 2 cases the
operational log is not displayed.}}
> Unify operational log behavior
> ------------------------------
>
> Key: HIVE-28579
> URL: https://issues.apache.org/jira/browse/HIVE-28579
> Project: Hive
> Issue Type: Improvement
> Security Level: Public(Viewable by anyone)
> Reporter: Dmitriy Fingerman
> Assignee: Dmitriy Fingerman
> Priority: Major
> Attachments: Screenshot 2024-10-23 at 5.54.03 PM.png
>
>
> When operational log is displayed, it shows exception stack traces and other
> messages in Hue and Beeline (see screenshot attached).
> This log contains messages for a specific query id and is intended for Hive
> clients.
> Hive clients fetch the operational log using Hive-specific jdbc method
> *HiveStatement.getQueryLog.*
> Currently, when '{*}hive.server2.async.exec.async.compile{*}' {*}=
> '{*}{*}true{*}' and an exception happens, an operational log is not displayed
> in Beeline and Hue (because stmtHandle is empty) and only exception message
> is displayed.
> When *'hive.server2.async.exec.async.compile' = 'false'* and operational log
> level != 'NONE'{*},{*} operational log is displayed with exception stack
> trace in Beeline and Hue and also exception message is displayed.
> The following settings control operational log behavior:
> * {*}Hive.server2.logging.operation.enabled{*}: ** true/false (true by
> default)
> * {*}hive.server2.logging.operation.level{*}:
> *
> ** NONE: Ignore any logging
> ** EXECUTION: Log completion of tasks
> ** PERFORMANCE: Execution + Performance logs
> ** VERBOSE: All logs
> * Log level can be changed on session level.
> * Upstream and downstream the default log level is {{{}EXECUTION{}}}, which
> displays exception stack traces which is not good as a default for
> non-technical users.
> End-users do not need to see exception stack traces by default, but when a
> query fails they should know Query ID, because using one they can find stack
> traces and other info in HiveServer2 log.
> Proposing to change *hive.server2.logging.operation.level* {{to NONE by
> default and to add Query ID to HiveSQLException when the level is NONE or
> when 'hive.server2.async.exec.async.compile' = true, because in these 2 cases
> the operational log is not displayed.}}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)