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

László Bodor resolved HIVE-28312.
---------------------------------
    Resolution: Fixed

> Save query error message on Driver level
> ----------------------------------------
>
>                 Key: HIVE-28312
>                 URL: https://issues.apache.org/jira/browse/HIVE-28312
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: László Bodor
>            Assignee: László Bodor
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.1.0
>
>
> current call path is *SQLOperation -> Driver.run*
> Instead of just throwing CommandProcessorException, Driver might save the the 
> error message for query-tracking purposes, this is a single message for later 
> reference, like:
> {code}
> FAILED: SemanticException [Error 10001]: Line 1:14 Table not found 'abcd'
> {code}
> 2 ways to achieve this
> 1. wrap every occurrence of throwing CommandProcessorException inside driver
> e.g. 
> https://github.com/apache/hive/blob/98d9d22398370f817fe64449368671b978fff096/ql/src/java/org/apache/hadoop/hive/ql/Driver.java#L146
> PRO: storing of error message stays inside the Driver (SQLCommand doesn't 
> need to know about it)
> CONS: looks a bit worse, not future-proof (later, anyone can miss this call 
> while throwing a cpe), needs Driver code changes at several places
> 2. catch in SQLOperation and propagate back to Driver
> https://github.com/apache/hive/blob/98d9d22398370f817fe64449368671b978fff096/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java#L237
> PRO: maybe it looks better, every exception can be caught in a single place 
> CON: it looks weird, because SQLOperation has to call back to the driver to 
> store the error message (which was already passed through the driver)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to