From 2cd839a56978d975ca7df04fde3b5206696e5e79 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Fri, 10 Oct 2014 11:22:19 -0700 Subject: [PATCH] TAJO-1111: TestKillQuery.testKillQueryFromInitState occasionally fails. --- .../org/apache/tajo/master/querymaster/Query.java | 2 +- .../apache/tajo/master/querymaster/QueryUnit.java | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/tajo-core/src/main/java/org/apache/tajo/master/querymaster/Query.java b/tajo-core/src/main/java/org/apache/tajo/master/querymaster/Query.java index 78993652aa..d3f5b1dc1f 100644 --- a/tajo-core/src/main/java/org/apache/tajo/master/querymaster/Query.java +++ b/tajo-core/src/main/java/org/apache/tajo/master/querymaster/Query.java @@ -194,7 +194,7 @@ public class Query implements EventHandler { INTERNAL_ERROR_TRANSITION) // Ignore-able transitions .addTransition(QueryState.QUERY_ERROR, QueryState.QUERY_ERROR, - QueryEventType.KILL) + EnumSet.of(QueryEventType.KILL, QueryEventType.SUBQUERY_COMPLETED)) .installTopology(); diff --git a/tajo-core/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java b/tajo-core/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java index 03c6d3042d..8a3ef7487f 100644 --- a/tajo-core/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java +++ b/tajo-core/src/main/java/org/apache/tajo/master/querymaster/QueryUnit.java @@ -152,17 +152,21 @@ public class QueryUnit implements EventHandler { // Transitions from SUCCEEDED state // Ignore-able transitions .addTransition(TaskState.SUCCEEDED, TaskState.SUCCEEDED, - EnumSet.of(TaskEventType.T_KILL, TaskEventType.T_ATTEMPT_KILLED, TaskEventType.T_ATTEMPT_SUCCEEDED)) + EnumSet.of(TaskEventType.T_KILL, + TaskEventType.T_ATTEMPT_KILLED, TaskEventType.T_ATTEMPT_SUCCEEDED, TaskEventType.T_ATTEMPT_FAILED)) // Transitions from FAILED state // Ignore-able transitions .addTransition(TaskState.FAILED, TaskState.FAILED, - EnumSet.of(TaskEventType.T_KILL, TaskEventType.T_ATTEMPT_KILLED, TaskEventType.T_ATTEMPT_SUCCEEDED)) + EnumSet.of(TaskEventType.T_KILL, + TaskEventType.T_ATTEMPT_KILLED, TaskEventType.T_ATTEMPT_SUCCEEDED, TaskEventType.T_ATTEMPT_FAILED)) // Transitions from KILLED state + .addTransition(TaskState.KILLED, TaskState.KILLED, TaskEventType.T_ATTEMPT_KILLED, new KillTaskTransition()) + // Ignore-able transitions .addTransition(TaskState.KILLED, TaskState.KILLED, - TaskEventType.T_ATTEMPT_KILLED, - new KillTaskTransition()) + EnumSet.of( + TaskEventType.T_KILL, TaskEventType.T_ATTEMPT_SUCCEEDED, TaskEventType.T_ATTEMPT_FAILED)) .installTopology();