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 <guoqi...@selectdb.com> 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: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org