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

jirapos...@reviews.apache.org commented on HIVE-2017:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1609/
-----------------------------------------------------------

(Updated 2011-09-16 17:33:41.236186)


Review request for hive, John Sichi and Ning Zhang.


Changes
-------

Rebased the patch on the latest trunk


Summary
-------

while processing two parallel tasks if one of the task fails the 
Driver.taskCleanup() will call system.exit() this will shutdown the jvm so it 
is replaced with the logic to stop the remaining tasks.. Here need to cleanup 2 
kinds of tasks one is non-mr tasks and  mr tasks. For stopping non-mr tasks 
used the thread.interrupt() because every non-mr task will be executed as a 
thread and for mr tasks maintained a variable called jobKillUri's this variable 
will track the spawned job kill uri, in taskCleanup() if it is a mr task using 
this variable kill the job. 


This addresses bug HIVE-2017.
    https://issues.apache.org/jira/browse/HIVE-2017


Diffs (updated)
-----

  trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java 
1170977 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Task.java 1170977 
  
trunk/ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/merge/BlockMergeTask.java 
1170977 
  trunk/ql/src/test/queries/clientnegative/alter_exit.q PRE-CREATION 
  trunk/ql/src/test/results/clientnegative/alter_exit.q.out PRE-CREATION 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java 1170977 
  trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExecDriver.java 1170977 

Diff: https://reviews.apache.org/r/1609/diff


Testing
-------

Added test case for this scenario.  Ran existing test cases


Thanks,

chinna



> Driver.execute() should maintaining SessionState in case of runtime errors
> --------------------------------------------------------------------------
>
>                 Key: HIVE-2017
>                 URL: https://issues.apache.org/jira/browse/HIVE-2017
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Ning Zhang
>            Assignee: Chinna Rao Lalam
>         Attachments: HIVE-2017.1.patch, HIVE-2017.2.patch
>
>
> Here's a snippet from Driver.execute():
> {code}
>             // TODO: This error messaging is not very informative. Fix that.
>             errorMessage = "FAILED: Execution Error, return code " + exitVal 
> + " from "
>                 + tsk.getClass().getName();
>             SQLState = "08S01";
>             console.printError(errorMessage);
>             if (running.size() != 0) {
>               taskCleanup();
>             }
>             return 9;
> {code}
> I simply returned in case of runtime errors without maintaining SessionState. 
> It could cause resource leak mentioned in HIVE-1959. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to