[ 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 {code:java} hive.server2.async.exec.async.compile = true{code} and an Exception happens, query log is not displayed in Beeline and Hue (because stmtHandle is empty) and only exception message is displayed, and when {code:java} hive.server2.async.exec.async.compile = false{code} query log is displayed with exception stack trace in Beeline and Hue and also exception message is displayed. When Hive 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: * {{Hive.server2.logging.operation.enabled}} - 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, the 2 cases when query log is not displayed.}} was: Currently, when {code:java} hive.server2.async.exec.async.compile = true{code} and an Exception happens, query log is not displayed in Beeline and Hue (because stmtHandle is empty) and only exception message is displayed, and when {code:java} hive.server2.async.exec.async.compile = false{code} query log is displayed with exception stack trace in Beeline and Hue and also exception message is displayed. When Hive 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. Hue fetches log entries via {{/get_log}} end point.The following settings control operational log behavior: * {{Hive.server2.logging.operation.enabled}} - 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, the 2 cases when query 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 > {code:java} > hive.server2.async.exec.async.compile = true{code} > and an Exception happens, query log is not displayed in Beeline and Hue > (because stmtHandle is empty) and only exception message is displayed, and > when > {code:java} > hive.server2.async.exec.async.compile = false{code} > query log is displayed with exception stack trace in Beeline and Hue and also > exception message is displayed. > When Hive 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: * > {{Hive.server2.logging.operation.enabled}} - 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, the 2 cases > when query log is not displayed.}} > -- This message was sent by Atlassian Jira (v8.20.10#820010)