Skip to content

Skip tracing logs for disabled/shutdown job servers #2492

@snac21

Description

@snac21

Problem

Disabled/shutdown servers still record trace events to database.

Proposed Solution

org.apache.shardingsphere.elasticjob.kernel.executor.facade.AbstractJobFacade#isJobEnabled
    public boolean isJobEnabled() {
        // Check if job is shutdown
        if (JobRegistry.getInstance().isShutdown(jobName)) {
            return false;
        }
        // Get job instance, return false if null
        JobInstance jobInstance = JobRegistry.getInstance().getJobInstance(jobName);
        if (null == jobInstance) {
            return false;
        }
        // Check server status in ZooKeeper
        return serverService.isEnableServer(jobInstance.getServerIp());
    }


org.apache.shardingsphere.elasticjob.kernel.executor.ElasticJobExecutor#execute()
 public void execute() {
        JobConfiguration jobConfig = jobFacade.loadJobConfiguration(true);
        executorServiceReloader.reloadIfNecessary(jobConfig);
        jobErrorHandlerReloader.reloadIfNecessary(jobConfig);
        JobErrorHandler jobErrorHandler = jobErrorHandlerReloader.getJobErrorHandler();
        // Check if job of server is enabled before executing, skip silently if disabled
        if (!jobFacade.isJobEnabled()) {
            log.debug("Job '{}' is not executed because server is disabled.", jobConfig.getJobName());
            return;
        }
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions