You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2018/02/04 05:16:16 UTC

[2/5] kylin git commit: KYLIN-3194 Fix BrokenExecutable parsing issue

KYLIN-3194 Fix BrokenExecutable parsing issue


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

Branch: refs/heads/master
Commit: da14ee94bcc5b91fabf99954b88819cc513effea
Parents: f797c84
Author: nichunen <ch...@kyligence.io>
Authored: Sun Jan 28 15:12:17 2018 +0800
Committer: Li Yang <li...@apache.org>
Committed: Sun Feb 4 08:44:45 2018 +0800

----------------------------------------------------------------------
 .../kylin/job/execution/ExecutableManager.java  | 26 +++++++++++---------
 1 file changed, 15 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/da14ee94/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
----------------------------------------------------------------------
diff --git a/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java b/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
index 0069c03..abcb048 100644
--- a/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
+++ b/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
@@ -501,20 +501,24 @@ public class ExecutableManager {
         result.setId(executablePO.getUuid());
         result.setName(executablePO.getName());
         result.setParams(executablePO.getParams());
-        List<ExecutablePO> tasks = executablePO.getTasks();
-        if (tasks != null && !tasks.isEmpty()) {
-            Preconditions.checkArgument(result instanceof ChainedExecutable);
-            for (ExecutablePO subTask : tasks) {
-                ((ChainedExecutable) result).addTask(parseTo(subTask));
+
+        if (!(result instanceof BrokenExecutable)) {
+            List<ExecutablePO> tasks = executablePO.getTasks();
+            if (tasks != null && !tasks.isEmpty()) {
+                Preconditions.checkArgument(result instanceof ChainedExecutable);
+                for (ExecutablePO subTask : tasks) {
+                    ((ChainedExecutable) result).addTask(parseTo(subTask));
+                }
             }
-        }
-        List<ExecutablePO> tasksForCheck = executablePO.getTasksForCheck();
-        if (tasksForCheck != null && !tasksForCheck.isEmpty()) {
-            Preconditions.checkArgument(result instanceof CheckpointExecutable);
-            for (ExecutablePO subTaskForCheck : tasksForCheck) {
-                ((CheckpointExecutable) result).addTaskForCheck(parseTo(subTaskForCheck));
+            List<ExecutablePO> tasksForCheck = executablePO.getTasksForCheck();
+            if (tasksForCheck != null && !tasksForCheck.isEmpty()) {
+                Preconditions.checkArgument(result instanceof CheckpointExecutable);
+                for (ExecutablePO subTaskForCheck : tasksForCheck) {
+                    ((CheckpointExecutable) result).addTaskForCheck(parseTo(subTaskForCheck));
+                }
             }
         }
+
         return result;
     }