diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java index d7a08ec..e4f9543 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java @@ -462,10 +462,12 @@ public int execute(DriverContext driverContext) { if (returnVal != 0) { rj.killJob(); } - HadoopJobExecHelper.runningJobs.remove(rj); jobID = rj.getID().toString(); } } catch (Exception e) { + LOG.warn(e); + } finally { + HadoopJobExecHelper.runningJobs.remove(rj); } } diff --git ql/src/java/org/apache/hadoop/hive/ql/io/merge/MergeFileTask.java ql/src/java/org/apache/hadoop/hive/ql/io/merge/MergeFileTask.java index 08ab1c9..bd50b46 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/merge/MergeFileTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/merge/MergeFileTask.java @@ -176,7 +176,6 @@ public int execute(DriverContext driverContext) { if (returnVal != 0) { rj.killJob(); } - HadoopJobExecHelper.runningJobs.remove(rj); jobID = rj.getID().toString(); } // get the list of Dynamic partition paths @@ -189,7 +188,8 @@ public int execute(DriverContext driverContext) { } } } catch (Exception e) { - // jobClose needs to execute successfully otherwise fail task + // jobClose needs to execute successfully otherwise fail task + LOG.warn(e); if (success) { success = false; returnVal = 3; @@ -198,6 +198,8 @@ public int execute(DriverContext driverContext) { console.printError(mesg, "\n" + org.apache.hadoop.util.StringUtils.stringifyException(e)); } + } finally { + HadoopJobExecHelper.runningJobs.remove(rj); } } diff --git ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/stats/PartialScanTask.java ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/stats/PartialScanTask.java index f4ffdd6..3cb9e9c 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/stats/PartialScanTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/stats/PartialScanTask.java @@ -245,10 +245,12 @@ public int execute(DriverContext driverContext) { if (returnVal != 0) { rj.killJob(); } - HadoopJobExecHelper.runningJobs.remove(rj); jobID = rj.getID().toString(); } } catch (Exception e) { + LOG.warn(e); + } finally { + HadoopJobExecHelper.runningJobs.remove(rj); } } diff --git ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/truncate/ColumnTruncateTask.java ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/truncate/ColumnTruncateTask.java index 4633820..149ad93 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/truncate/ColumnTruncateTask.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/rcfile/truncate/ColumnTruncateTask.java @@ -213,12 +213,14 @@ public int execute(DriverContext driverContext) { if (returnVal != 0) { rj.killJob(); } - HadoopJobExecHelper.runningJobs.remove(rj); jobID = rj.getID().toString(); } ColumnTruncateMapper.jobClose(outputPath, success, job, console, work.getDynPartCtx(), null); } catch (Exception e) { + LOG.warn(e); + } finally { + HadoopJobExecHelper.runningJobs.remove(rj); } }