You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Aihua Xu (JIRA)" <ji...@apache.org> on 2018/04/13 22:36:00 UTC

[jira] [Commented] (HIVE-19204) Detailed errors from some tasks are not displayed to the client because the tasks don't set exception when they fail

    [ https://issues.apache.org/jira/browse/HIVE-19204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16438019#comment-16438019 ] 

Aihua Xu commented on HIVE-19204:
---------------------------------

patch-1: made some changes some Task classes so the error will print out to the client console from driver class. I think the general guidance should be: use LOG.error() to print to the HS2 log file; call setExpection() to let driver print the final task failures to the console.

> Detailed errors from some tasks are not displayed to the client because the tasks don't set exception when they fail
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-19204
>                 URL: https://issues.apache.org/jira/browse/HIVE-19204
>             Project: Hive
>          Issue Type: Improvement
>          Components: Query Processor
>    Affects Versions: 3.0.0
>            Reporter: Aihua Xu
>            Assignee: Aihua Xu
>            Priority: Major
>         Attachments: HIVE-19204.1.patch
>
>
> In TaskRunner.java, if the tasks have exception set, then the task result will have such exception set and Driver.java will get such details and display to the client. But some tasks don't set such exceptions so the client won't see such details unless you check the HS2 log.
>   
> {noformat}
>   public void runSequential() {
>     int exitVal = -101;
>     try {
>       exitVal = tsk.executeTask(ss == null ? null : ss.getHiveHistory());
>     } catch (Throwable t) {
>       if (tsk.getException() == null) {
>         tsk.setException(t);
>       }
>       LOG.error("Error in executeTask", t);
>     }
>     result.setExitVal(exitVal);
>     if (tsk.getException() != null) {
>       result.setTaskError(tsk.getException());
>     }
>   }
>  {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)