[ 
https://issues.apache.org/jira/browse/HIVE-28579?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated HIVE-28579:
----------------------------------
    Labels: pull-request-available  (was: )

> 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
>              Labels: pull-request-available
>         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 is 
> disabled or when its level = 'NONE' or when 
> {*}'hive.server2.async.exec.async.compile' = 'true'{*}, because in all these 
> 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