From a6ee4112a54043033233334c900d9bcd1cebf157 Mon Sep 17 00:00:00 2001 From: Koushik Das Date: Mon, 22 Sep 2014 16:40:12 +0530 Subject: [PATCH] CLOUDSTACK-7595: Config parameters "job.expire.minutes" and "job.cancel.threshold.minutes" incorrectly getting multiplied by a factor of 60 Removed the unnecessary multiply factor for both the config parameters. Also removed the duplicate entries from Config.java as these are not required --- .../jobs/impl/AsyncJobManagerImpl.java | 21 ++++++++----------- .../src/com/cloud/configuration/Config.java | 9 -------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java index 4c4d3c21f72..7e65ede3e53 100644 --- a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java +++ b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java @@ -38,7 +38,6 @@ import org.apache.log4j.NDC; import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.context.CallContext; -import org.apache.cloudstack.framework.config.ConfigDepot; import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.Configurable; import org.apache.cloudstack.framework.jobs.AsyncJob; @@ -83,10 +82,10 @@ import com.cloud.utils.mgmt.JmxUtil; public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, ClusterManagerListener, Configurable { // Advanced - private static final ConfigKey JobExpireMinutes = new ConfigKey(Long.class, "job.expire.minutes", "Advanced", "1440", - "Time (in minutes) for async-jobs to be kept in system", true, ConfigKey.Scope.Global, 60l); - private static final ConfigKey JobCancelThresholdMinutes = new ConfigKey(Long.class, "job.cancel.threshold.minutes", "Advanced", "60", - "Time (in minutes) for async-jobs to be forcely cancelled if it has been in process for long", true, ConfigKey.Scope.Global, 240l); + private static final ConfigKey JobExpireMinutes = new ConfigKey("Advanced", Long.class, "job.expire.minutes", "1440", + "Time (in minutes) for async-jobs to be kept in system", true, ConfigKey.Scope.Global); + private static final ConfigKey JobCancelThresholdMinutes = new ConfigKey("Advanced", Long.class, "job.cancel.threshold.minutes", "60", + "Time (in minutes) for async-jobs to be forcely cancelled if it has been in process for long", true, ConfigKey.Scope.Global); private static final Logger s_logger = Logger.getLogger(AsyncJobManagerImpl.class); @@ -112,8 +111,6 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, private MessageBus _messageBus; @Inject private AsyncJobMonitor _jobMonitor; - @Inject - private ConfigDepot _configDepot; private volatile long _executionRunNumber = 1; @@ -778,16 +775,16 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, // limit to 100 jobs per turn, this gives cleanup throughput as 600 jobs per minute // hopefully this will be fast enough to balance potential growth of job table - //1) Expire unfinished jobs that weren't processed yet - List l = _jobDao.getExpiredUnfinishedJobs(cutTime, 100); - for (AsyncJobVO job : l) { + // 1) Expire unfinished jobs that weren't processed yet + List unfinishedJobs = _jobDao.getExpiredUnfinishedJobs(cutTime, 100); + for (AsyncJobVO job : unfinishedJobs) { s_logger.info("Expunging unfinished job " + job); _jobMonitor.unregisterByJobId(job.getId()); expungeAsyncJob(job); } - //2) Expunge finished jobs + // 2) Expunge finished jobs List completedJobs = _jobDao.getExpiredCompletedJobs(cutTime, 100); for (AsyncJobVO job : completedJobs) { s_logger.trace("Expunging completed job " + job); @@ -825,7 +822,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, @Override public void doInTransactionWithoutResult(TransactionStatus status) { _jobDao.expunge(job.getId()); - //purge corresponding sync queue item + // purge corresponding sync queue item _queueMgr.purgeAsyncJobQueueItemId(job.getId()); } }); diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java index 9309e3aba3c..83badbc9cff 100755 --- a/server/src/com/cloud/configuration/Config.java +++ b/server/src/com/cloud/configuration/Config.java @@ -521,15 +521,6 @@ public enum Config { KVMSnapshotEnabled("Snapshots", SnapshotManager.class, Boolean.class, "kvm.snapshot.enabled", "false", "whether snapshot is enabled for KVM hosts", null), // Advanced - JobExpireMinutes("Advanced", ManagementServer.class, String.class, "job.expire.minutes", "1440", "Time (in minutes) for async-jobs to be kept in system", null), - JobCancelThresholdMinutes( - "Advanced", - ManagementServer.class, - String.class, - "job.cancel.threshold.minutes", - "60", - "Time (in minutes) for async-jobs to be forcely cancelled if it has been in process for long", - null), EventPurgeInterval( "Advanced", ManagementServer.class,