You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2016/04/22 14:13:22 UTC

tajo git commit: TAJO-2126: Allow parallel execution of non-leaf sibling ExecutionBlocks.

Repository: tajo
Updated Branches:
  refs/heads/master 552376a80 -> 71193b218


TAJO-2126: Allow parallel execution of non-leaf sibling ExecutionBlocks.

Closes #1003


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/71193b21
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/71193b21
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/71193b21

Branch: refs/heads/master
Commit: 71193b218f55d33fad0f255386165b8c88bb310e
Parents: 552376a
Author: Jihoon Son <ji...@apache.org>
Authored: Fri Apr 22 21:12:58 2016 +0900
Committer: Jihoon Son <ji...@apache.org>
Committed: Fri Apr 22 21:12:58 2016 +0900

----------------------------------------------------------------------
 CHANGES                                                |  3 +++
 .../engine/planner/global/ParallelExecutionQueue.java  | 13 ++-----------
 2 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/71193b21/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 7ac7d83..38aedda 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,9 @@ Release 0.12.0 - unreleased
 
   IMPROVEMENT
 
+    TAJO-2126: Allow parallel execution of non-leaf sibling ExecutionBlocks.
+    (jihooon)
+
     TAJO-2127: Use Type instead of DataType for EvalNode. (hyunsik)
 
     TAJO-2125: Detect JAVA_HOME on OSX, if JAVA_HOME is not set. (jinho)

http://git-wip-us.apache.org/repos/asf/tajo/blob/71193b21/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ParallelExecutionQueue.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ParallelExecutionQueue.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ParallelExecutionQueue.java
index 23e309f..d197bda 100644
--- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ParallelExecutionQueue.java
+++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ParallelExecutionQueue.java
@@ -101,17 +101,8 @@ public class ParallelExecutionQueue implements ExecutionQueue, Iterable<Executio
   }
 
   private boolean isExecutableNow(ExecutionBlock current) {
-    ExecutionBlock parent = masterPlan.getParent(current);
-
-    List<ExecutionBlock> dependents = masterPlan.getChilds(current);
-    if (parent != null && masterPlan.getChannel(current.getId(), parent.getId()).needShuffle()) {
-      // add all children of sibling for partitioning
-      dependents = new ArrayList<>();
-      for (ExecutionBlock sibling : masterPlan.getChilds(parent)) {
-        dependents.addAll(masterPlan.getChilds(sibling));
-      }
-    }
-    for (ExecutionBlock child : dependents) {
+
+    for (ExecutionBlock child : masterPlan.getChilds(current)) {
       if (!executed.contains(child.getId())) {
         return false;   // there's something should be done before this
       }