[ 
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)

Reply via email to