Index: ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java (revision 1310175) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java (working copy) @@ -403,7 +403,6 @@ MapRedStats mapRedStats = new MapRedStats(numMap, numReduce, cpuMsec, success, rj.getID().toString()); mapRedStats.setCounters(ctrs); - this.task.setDone(); // update based on the final value of the counters updateCounters(ctrs, rj); Index: ql/src/java/org/apache/hadoop/hive/ql/Driver.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/Driver.java (revision 1310175) +++ ql/src/java/org/apache/hadoop/hive/ql/Driver.java (working copy) @@ -1103,13 +1103,11 @@ SessionState.get().setLocalMapRedErrors(new HashMap>()); // Add root Tasks to runnable - for (Task tsk : plan.getRootTasks()) { driverCxt.addToRunnable(tsk); } // Loop while you either have tasks running, or tasks queued up - while (running.size() != 0 || runnable.peek() != null) { // Launch upto maxthreads tasks while (runnable.peek() != null && running.size() < maxthreads) {