This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 3.0.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit b764400e3bd76cd6c4ca8f2345e369783a754284
Author: bigxiaochu <crow...@163.com>
AuthorDate: Tue Nov 12 17:57:36 2019 +0800

    KYLIN-4250 FechRunnner should skip the job to process other jobs instead of 
throwing exception when the job section metadata is not found
---
 .../kylin/job/impl/threadpool/DefaultFetcherRunner.java    | 14 +++++++++++++-
 .../kylin/job/impl/threadpool/PriorityFetcherRunner.java   | 14 +++++++++++++-
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git 
a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultFetcherRunner.java
 
b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultFetcherRunner.java
index 3f51018..1c21902 100644
--- 
a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultFetcherRunner.java
+++ 
b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultFetcherRunner.java
@@ -66,7 +66,14 @@ public class DefaultFetcherRunner extends FetcherRunner {
                     continue;
                 }
 
-                final Output outputDigest = 
getExecutableManager().getOutputDigest(id);
+                final Output outputDigest;
+                try {
+                    outputDigest = getExecutableManager().getOutputDigest(id);
+                } catch (IllegalArgumentException e) {
+                    logger.warn("job " + id + " output digest is null, skip.", 
e);
+                    nOthers++;
+                    continue;
+                }
                 if ((outputDigest.getState() != ExecutableState.READY)) {
                     // logger.debug("Job id:" + id + " not runnable");
                     jobStateCount(id);
@@ -74,6 +81,11 @@ public class DefaultFetcherRunner extends FetcherRunner {
                 }
 
                 final AbstractExecutable executable = 
getExecutableManager().getJob(id);
+                if (executable == null) {
+                    logger.info("job " + id + " get job is null, skip.");
+                    nOthers++;
+                    continue;
+                }
                 if (!executable.isReady()) {
                     nOthers++;
                     continue;
diff --git 
a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/PriorityFetcherRunner.java
 
b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/PriorityFetcherRunner.java
index 60bf77b..cb01475 100644
--- 
a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/PriorityFetcherRunner.java
+++ 
b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/PriorityFetcherRunner.java
@@ -99,13 +99,25 @@ public class PriorityFetcherRunner extends FetcherRunner {
                     continue;
                 }
 
-                final Output outputDigest = 
getExecutableManager().getOutputDigest(id);
+                final Output outputDigest;
+                try {
+                    outputDigest = getExecutableManager().getOutputDigest(id);
+                } catch (IllegalArgumentException e) {
+                    logger.warn("job " + id + " output digest is null, skip.", 
e);
+                    nOthers++;
+                    continue;
+                }
                 if ((outputDigest.getState() != ExecutableState.READY)) {
                     jobStateCount(id);
                     continue;
                 }
 
                 AbstractExecutable executable = 
getExecutableManager().getJob(id);
+                if (executable == null) {
+                    logger.info("job " + id + " get job is null, skip.");
+                    nOthers++;
+                    continue;
+                }
                 if (!executable.isReady()) {
                     nOthers++;
                     continue;

Reply via email to