[
https://issues.apache.org/jira/browse/HIVE-28579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitriy Fingerman updated HIVE-28579:
-------------------------------------
Summary: Hide exception stack traces from end-users by default and display
query id instead (was: Unify operational log behavior)
> Hide exception stack traces from end-users by default and display query id
> instead
> ----------------------------------------------------------------------------------
>
> 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
>
>
> +*Background:*+
> Hive operational log is a query log that contains messages for a specific
> query id and is intended for Hive clients.
> When operational log is enabled, it shows query id, exception stack traces
> and other messages in Hue and Beeline (see screenshot attached). Hive clients
> fetch the operational log using Hive-specific jdbc method
> *HiveStatement.getQueryLog.*
> 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.
> * The default log level is {{{}EXECUTION{}}}, which displays exception stack
> traces which is not good as a default for non-technical users.
> +*Problem Description:*+
> 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. Query id is not displayed.
> When *'hive.server2.async.exec.async.compile' = 'false'* and operational log
> level != 'NONE'{*},{*} operational log is displayed with query id and
> exception stack trace and also exception message is displayed.
> 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.
> +*Proposed Solution:*+
> Proposing to:
> # Change '{*}hive.server2.logging.operation.level'{*} to 'NONE' by default
> to hide exception stack traces from end-users
> # Add query id to HiveSQLException's message when the operational log level
> = 'NONE' or when {*}'hive.server2.async.exec.async.compile' = 'true'{*},
> because in these 2 cases the operational log is not displayed and therefore a
> query id is also not displayed. Using query id more info can easily be
> retrieved from Hiveserver2 log.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)