This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new c1e4ebe5c0b [Chore](Job)Add scheduling logs for periodic jobs. (#44843)
c1e4ebe5c0b is described below
commit c1e4ebe5c0be76df40387fbbb9618ccdc81fe1e8
Author: Calvin Kirs <[email protected]>
AuthorDate: Fri Dec 6 02:00:06 2024 +0800
[Chore](Job)Add scheduling logs for periodic jobs. (#44843)
### What problem does this PR solve?
To facilitate troubleshooting and ensure the scheduler is functioning
correctly.
---
.../java/org/apache/doris/job/executor/TimerJobSchedulerTask.java | 2 ++
.../main/java/org/apache/doris/job/scheduler/JobScheduler.java | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java
b/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java
index 65a9cf2e091..4269fa0d8f3 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/job/executor/TimerJobSchedulerTask.java
@@ -48,6 +48,8 @@ public class TimerJobSchedulerTask<T extends AbstractJob>
implements TimerTask {
log.warn("dispatch timer job failed, queue maybe full. job id
is {}, job name is {}",
this.job.getJobId(), this.job.getJobName() +
getMsgWhenExecuteQueueFull());
}
+ log.info("dispatch timer job success, job id is {}, job name is
{}", this.job.getJobId(),
+ this.job.getJobName());
} catch (Exception e) {
log.warn("dispatch timer job error, task id is {}",
this.job.getJobId(), e);
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java
b/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java
index 7f8b39f1e66..921f333791c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/job/scheduler/JobScheduler.java
@@ -146,6 +146,11 @@ public class JobScheduler<T extends AbstractJob<?, C>, C>
implements Closeable {
private void cycleTimerJobScheduler(T job, long startTimeWindowMs) {
List<Long> delaySeconds =
job.getJobConfig().getTriggerDelayTimes(System.currentTimeMillis(),
startTimeWindowMs, latestBatchSchedulerTimerTaskTimeMs);
+ if (CollectionUtils.isEmpty(delaySeconds)) {
+ log.info("skip job {} scheduler timer job, delay seconds is
empty", job.getJobName());
+ return;
+ }
+ log.info("job {} scheduler timer job, delay seconds size is {}",
job.getJobName(), delaySeconds.size());
if (CollectionUtils.isNotEmpty(delaySeconds)) {
delaySeconds.forEach(delaySecond -> {
TimerJobSchedulerTask<T> timerJobSchedulerTask = new
TimerJobSchedulerTask<>(timerJobDisruptor, job);
@@ -188,6 +193,8 @@ public class JobScheduler<T extends AbstractJob<?, C>, C>
implements Closeable {
this.latestBatchSchedulerTimerTaskTimeMs =
System.currentTimeMillis();
}
this.latestBatchSchedulerTimerTaskTimeMs +=
BATCH_SCHEDULER_INTERVAL_MILLI_SECONDS;
+ log.info("execute timer job ids within last ten minutes window, last
time window is {}",
+ TimeUtils.longToTimeString(lastTimeWindowMs));
if (jobMap.isEmpty()) {
return;
}
@@ -209,6 +216,7 @@ public class JobScheduler<T extends AbstractJob<?, C>, C>
implements Closeable {
}
try {
Env.getCurrentEnv().getJobManager().unregisterJob(job.getJobId());
+ log.info("clear finish job, job id is {}, job name is {}",
job.getJobId(), job.getJobName());
} catch (JobException e) {
log.error("clear finish job error, job id is {}", job.getJobId(),
e);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]