Author: sdong Date: Fri Apr 6 22:27:22 2012 New Revision: 1310619 URL: http://svn.apache.org/viewvc?rev=1310619&view=rev Log: HIVE-2929 race condition in DAG execute tasks for hive (Namit Jain via Siying Dong)
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java?rev=1310619&r1=1310618&r2=1310619&view=diff ============================================================================== --- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java (original) +++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/Driver.java Fri Apr 6 22:27:22 2012 @@ -1104,13 +1104,11 @@ public class Driver implements CommandPr SessionState.get().setLocalMapRedErrors(new HashMap<String, List<String>>()); // Add root Tasks to runnable - for (Task<? extends Serializable> 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) { Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java?rev=1310619&r1=1310618&r2=1310619&view=diff ============================================================================== --- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java (original) +++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/HadoopJobExecHelper.java Fri Apr 6 22:27:22 2012 @@ -403,7 +403,6 @@ public class HadoopJobExecHelper { 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);