You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2016/07/15 03:20:22 UTC
kylin git commit: minor, add more log to default scheduler
Repository: kylin
Updated Branches:
refs/heads/master 3299b0fa0 -> 7e3727a73
minor, add more log to default scheduler
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/7e3727a7
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/7e3727a7
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/7e3727a7
Branch: refs/heads/master
Commit: 7e3727a731210a18eb55f349a1b508a6885278c5
Parents: 3299b0f
Author: Hongbin Ma <ma...@apache.org>
Authored: Fri Jul 15 11:20:08 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Fri Jul 15 11:20:11 2016 +0800
----------------------------------------------------------------------
.../kylin/job/impl/threadpool/DefaultScheduler.java | 14 +++++++++++---
.../org/apache/kylin/rest/service/BasicService.java | 9 ++++++++-
2 files changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/7e3727a7/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
----------------------------------------------------------------------
diff --git a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
index 816db01..2dc1ab5 100644
--- a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
+++ b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
@@ -80,7 +80,7 @@ public class DefaultScheduler implements Scheduler<AbstractExecutable>, Connecti
return;
}
- int nRunning = 0, nReady = 0, nOthers = 0;
+ int nRunning = 0, nReady = 0, nOthers = 0, nError = 0, nDiscarded = 0, nSUCCEED = 0;
for (final String id : executableManager.getAllJobIds()) {
if (runningJobs.containsKey(id)) {
// logger.debug("Job id:" + id + " is already running");
@@ -90,7 +90,15 @@ public class DefaultScheduler implements Scheduler<AbstractExecutable>, Connecti
final Output output = executableManager.getOutput(id);
if ((output.getState() != ExecutableState.READY)) {
// logger.debug("Job id:" + id + " not runnable");
- nOthers++;
+ if (output.getState() == ExecutableState.DISCARDED) {
+ nDiscarded++;
+ } else if (output.getState() == ExecutableState.ERROR) {
+ nError++;
+ } else if (output.getState() == ExecutableState.SUCCEED) {
+ nSUCCEED++;
+ } else {
+ nOthers++;
+ }
continue;
}
nReady++;
@@ -106,7 +114,7 @@ public class DefaultScheduler implements Scheduler<AbstractExecutable>, Connecti
logger.warn(jobDesc + " fail to schedule", ex);
}
}
- logger.info("Job Fetcher: " + nRunning + " running, " + runningJobs.size() + " actual running, " + nReady + " ready, " + nOthers + " others");
+ logger.info("Job Fetcher: " + nRunning + " should running, " + runningJobs.size() + " actual running, " + nReady + " ready, " + nSUCCEED + " already succeed, " + nError + " error, " + nDiscarded + " discarded, " + nOthers + " others");
} catch (Exception e) {
logger.warn("Job Fetcher caught a exception " + e);
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/7e3727a7/server-base/src/main/java/org/apache/kylin/rest/service/BasicService.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/BasicService.java b/server-base/src/main/java/org/apache/kylin/rest/service/BasicService.java
index 5f07adf..abf0638 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/BasicService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/BasicService.java
@@ -131,7 +131,14 @@ public abstract class BasicService {
}, new Predicate<CubingJob>() {
@Override
public boolean apply(CubingJob executable) {
- return statusList.contains(allOutputs.get(executable.getId()).getState());
+ try {
+ Output output = allOutputs.get(executable.getId());
+ ExecutableState state = output.getState();
+ boolean ret = statusList.contains(state);
+ return ret;
+ } catch (Exception e) {
+ throw e;
+ }
}
})));
return results;