You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2014/11/14 01:51:51 UTC

svn commit: r1639559 - /hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java

Author: xuefu
Date: Fri Nov 14 00:51:51 2014
New Revision: 1639559

URL: http://svn.apache.org/r1639559
Log:
HIVE-8859: ColumnStatsTask fails because of SparkMapJoinResolver [Spark Branch] (Chao via Xuefu)

Modified:
    hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java

Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java?rev=1639559&r1=1639558&r2=1639559&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java Fri Nov 14 00:51:51 2014
@@ -145,14 +145,16 @@ public class SparkMapJoinResolver implem
           parentTask.addDependentTask(resultTask);
         }
       } else {
-        List<Task<? extends Serializable>> parentTasks = originalTask.getParentTasks();
-        if (parentTasks != null && parentTasks.size() > 0) {
-          for (Task<? extends Serializable> parentTask : parentTasks) {
-            parentTask.addDependentTask(resultTask);
+        if (originalTask != resultTask) {
+          List<Task<? extends Serializable>> parentTasks = originalTask.getParentTasks();
+          if (parentTasks != null && parentTasks.size() > 0) {
+            for (Task<? extends Serializable> parentTask : parentTasks) {
+              parentTask.addDependentTask(resultTask);
+            }
+          } else {
+            physicalContext.addToRootTask(resultTask);
+            physicalContext.removeFromRootTask(originalTask);
           }
-        } else {
-          physicalContext.addToRootTask(resultTask);
-          physicalContext.removeFromRootTask(originalTask);
         }
       }