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 2014/10/12 09:51:36 UTC

[2/5] git commit: TAJO-1113: SubQuery in KILLED state should handle unexpected events.

TAJO-1113: SubQuery in KILLED state should handle unexpected events.

Closes #199


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

Branch: refs/heads/index_support
Commit: 3d334f3f45443b4d39a4d029de2482e5629a6e10
Parents: 22c43c0
Author: Hyunsik Choi <hy...@apache.org>
Authored: Sat Oct 11 15:14:04 2014 -0700
Committer: Hyunsik Choi <hy...@apache.org>
Committed: Sat Oct 11 21:56:52 2014 -0700

----------------------------------------------------------------------
 CHANGES                                         |  3 +++
 .../tajo/master/querymaster/SubQuery.java       | 20 +++++++++++++++++++-
 2 files changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/3d334f3f/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index d1618c9..d4ce498 100644
--- a/CHANGES
+++ b/CHANGES
@@ -168,6 +168,9 @@ Release 0.9.0 - unreleased
 
   BUG FIXES
 
+    TAJO-1113: SubQuery in KILLED state should handle unexpected events.
+    (hyunsik)
+
     TAJO-1111: TestKillQuery.testKillQueryFromInitState occasionally fails.
     (hyunsik)
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/3d334f3f/tajo-core/src/main/java/org/apache/tajo/master/querymaster/SubQuery.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/querymaster/SubQuery.java b/tajo-core/src/main/java/org/apache/tajo/master/querymaster/SubQuery.java
index 1f348ff..907fc65 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/querymaster/SubQuery.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/querymaster/SubQuery.java
@@ -215,6 +215,24 @@ public class SubQuery implements EventHandler<SubQueryEvent> {
                   SubQueryEventType.SQ_KILL,
                   SubQueryEventType.SQ_CONTAINER_ALLOCATED))
 
+          // Transitions from KILLED state
+          .addTransition(SubQueryState.KILLED, SubQueryState.KILLED,
+              SubQueryEventType.SQ_CONTAINER_ALLOCATED,
+              CONTAINERS_CANCEL_TRANSITION)
+          .addTransition(SubQueryState.KILLED, SubQueryState.KILLED,
+              SubQueryEventType.SQ_DIAGNOSTIC_UPDATE,
+              DIAGNOSTIC_UPDATE_TRANSITION)
+          .addTransition(SubQueryState.KILLED, SubQueryState.ERROR,
+              SubQueryEventType.SQ_INTERNAL_ERROR,
+              INTERNAL_ERROR_TRANSITION)
+              // Ignore-able transitions
+          .addTransition(SubQueryState.KILLED, SubQueryState.KILLED,
+              EnumSet.of(
+                  SubQueryEventType.SQ_START,
+                  SubQueryEventType.SQ_KILL,
+                  SubQueryEventType.SQ_CONTAINER_ALLOCATED,
+                  SubQueryEventType.SQ_FAILED))
+
           // Transitions from FAILED state
           .addTransition(SubQueryState.FAILED, SubQueryState.FAILED,
               SubQueryEventType.SQ_CONTAINER_ALLOCATED,
@@ -233,7 +251,7 @@ public class SubQuery implements EventHandler<SubQueryEvent> {
                   SubQueryEventType.SQ_CONTAINER_ALLOCATED,
                   SubQueryEventType.SQ_FAILED))
 
-          // Transitions from FAILED state
+          // Transitions from ERROR state
           .addTransition(SubQueryState.ERROR, SubQueryState.ERROR,
               SubQueryEventType.SQ_CONTAINER_ALLOCATED,
               CONTAINERS_CANCEL_TRANSITION)