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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions