From e0ea8801fb501282e5358b05c0c648dc6ee76739 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Mon, 1 Dec 2014 17:48:17 +0530 Subject: [PATCH] CLOUDSTACK-7595: Remove unnecessary multiply factor for job expiry Backported using a6ee4112a54043033233334c900d9bcd1cebf157 by Koushik Das 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 Signed-off-by: Rohit Yadav --- .../framework/jobs/impl/AsyncJobManagerImpl.java | 16 +++++++--------- server/src/com/cloud/configuration/Config.java | 1 - 2 files changed, 7 insertions(+), 10 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 ae598482b58..beeb025ab4b 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 @@ -36,7 +36,6 @@ import javax.naming.ConfigurationException; import org.apache.log4j.Logger; import org.apache.cloudstack.api.ApiErrorCode; -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; @@ -82,10 +81,11 @@ 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, 60l); + 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 +112,6 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, private MessageBus _messageBus; @Inject private AsyncJobMonitor _jobMonitor; - @Inject - private ConfigDepot _configDepot; private volatile long _executionRunNumber = 1; @@ -734,8 +732,8 @@ 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) { + List unfinishedJobs = _jobDao.getExpiredUnfinishedJobs(cutTime, 100); + for (AsyncJobVO job : unfinishedJobs) { s_logger.trace("Expunging unfinished job " + job); expungeAsyncJob(job); } diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java index ee48002759f..1bfad1eee32 100755 --- a/server/src/com/cloud/configuration/Config.java +++ b/server/src/com/cloud/configuration/Config.java @@ -141,7 +141,6 @@ public enum Config { // 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, Integer.class, "event.purge.interval", "86400", "The interval (in seconds) to wait before running the event purge thread", null), AccountCleanupInterval("Advanced", ManagementServer.class, Integer.class, "account.cleanup.interval", "86400", "The interval (in seconds) between cleanup for removed accounts", null), InstanceName("Advanced", AgentManager.class, String.class, "instance.name", "VM", "Name of the deployment instance.", "instanceName"),