[
https://issues.apache.org/jira/browse/HIVE-28579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitriy Fingerman updated HIVE-28579:
-------------------------------------
Description:
Currently, when '{*}hive.server2.async.exec.async.compile{*}' {*}=
'{*}{*}true{*}' and an Exception happens, operational log is not displayed in
Beeline and Hue (because stmtHandle is empty) and only exception message is
displayed, and 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.
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
{code:java}
HiveStatement.getQueryLog{code}
The following settings control operational log behavior:
*
{code:java}
Hive.server2.logging.operation.enabled {code}
true/false (true by default)
*
{code:java}
hive.server2.logging.operation.level{code}
*
** 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
{code:java}
hive.server2.logging.operation.level{code}
{{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:
Currently, when
{code:java}
hive.server2.async.exec.async.compile = true{code}
and an Exception happens, operational log is not displayed in Beeline and Hue
(because stmtHandle becomes empty) and only exception message is displayed, and
when
{code:java}
hive.server2.async.exec.async.compile = false{code}
operational log is displayed with exception stack trace in Beeline and Hue and
also exception message is displayed.
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
{code:java}
HiveStatement.getQueryLog{code}
The following settings control operational log behavior:
*
{code:java}
Hive.server2.logging.operation.enabled {code}
true/false (true by default)
*
{code:java}
hive.server2.logging.operation.level{code}
*
** 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
{code:java}
hive.server2.logging.operation.level{code}
{{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
>
>
> Currently, when '{*}hive.server2.async.exec.async.compile{*}' {*}=
> '{*}{*}true{*}' and an Exception happens, operational log is not displayed in
> Beeline and Hue (because stmtHandle is empty) and only exception message is
> displayed, and 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.
> 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
> {code:java}
> HiveStatement.getQueryLog{code}
> The following settings control operational log behavior:
> *
> {code:java}
> Hive.server2.logging.operation.enabled {code}
> true/false (true by default)
> *
> {code:java}
> hive.server2.logging.operation.level{code}
> *
> ** 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
> {code:java}
> hive.server2.logging.operation.level{code}
> {{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)