Skip to content

Commit a6ee411

Browse files
committed
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
1 parent 5bddebb commit a6ee411

File tree

2 files changed

+9
-21
lines changed

2 files changed

+9
-21
lines changed

framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838

3939
import org.apache.cloudstack.api.ApiErrorCode;
4040
import org.apache.cloudstack.context.CallContext;
41-
import org.apache.cloudstack.framework.config.ConfigDepot;
4241
import org.apache.cloudstack.framework.config.ConfigKey;
4342
import org.apache.cloudstack.framework.config.Configurable;
4443
import org.apache.cloudstack.framework.jobs.AsyncJob;
@@ -83,10 +82,10 @@
8382

8483
public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, ClusterManagerListener, Configurable {
8584
// Advanced
86-
private static final ConfigKey<Long> JobExpireMinutes = new ConfigKey<Long>(Long.class, "job.expire.minutes", "Advanced", "1440",
87-
"Time (in minutes) for async-jobs to be kept in system", true, ConfigKey.Scope.Global, 60l);
88-
private static final ConfigKey<Long> JobCancelThresholdMinutes = new ConfigKey<Long>(Long.class, "job.cancel.threshold.minutes", "Advanced", "60",
89-
"Time (in minutes) for async-jobs to be forcely cancelled if it has been in process for long", true, ConfigKey.Scope.Global, 240l);
85+
private static final ConfigKey<Long> JobExpireMinutes = new ConfigKey<Long>("Advanced", Long.class, "job.expire.minutes", "1440",
86+
"Time (in minutes) for async-jobs to be kept in system", true, ConfigKey.Scope.Global);
87+
private static final ConfigKey<Long> JobCancelThresholdMinutes = new ConfigKey<Long>("Advanced", Long.class, "job.cancel.threshold.minutes", "60",
88+
"Time (in minutes) for async-jobs to be forcely cancelled if it has been in process for long", true, ConfigKey.Scope.Global);
9089

9190
private static final Logger s_logger = Logger.getLogger(AsyncJobManagerImpl.class);
9291

@@ -112,8 +111,6 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager,
112111
private MessageBus _messageBus;
113112
@Inject
114113
private AsyncJobMonitor _jobMonitor;
115-
@Inject
116-
private ConfigDepot _configDepot;
117114

118115
private volatile long _executionRunNumber = 1;
119116

@@ -778,16 +775,16 @@ public void reallyRun() {
778775

779776
// limit to 100 jobs per turn, this gives cleanup throughput as 600 jobs per minute
780777
// hopefully this will be fast enough to balance potential growth of job table
781-
//1) Expire unfinished jobs that weren't processed yet
782-
List<AsyncJobVO> l = _jobDao.getExpiredUnfinishedJobs(cutTime, 100);
783-
for (AsyncJobVO job : l) {
778+
// 1) Expire unfinished jobs that weren't processed yet
779+
List<AsyncJobVO> unfinishedJobs = _jobDao.getExpiredUnfinishedJobs(cutTime, 100);
780+
for (AsyncJobVO job : unfinishedJobs) {
784781
s_logger.info("Expunging unfinished job " + job);
785782

786783
_jobMonitor.unregisterByJobId(job.getId());
787784
expungeAsyncJob(job);
788785
}
789786

790-
//2) Expunge finished jobs
787+
// 2) Expunge finished jobs
791788
List<AsyncJobVO> completedJobs = _jobDao.getExpiredCompletedJobs(cutTime, 100);
792789
for (AsyncJobVO job : completedJobs) {
793790
s_logger.trace("Expunging completed job " + job);
@@ -825,7 +822,7 @@ protected void expungeAsyncJob(final AsyncJobVO job) {
825822
@Override
826823
public void doInTransactionWithoutResult(TransactionStatus status) {
827824
_jobDao.expunge(job.getId());
828-
//purge corresponding sync queue item
825+
// purge corresponding sync queue item
829826
_queueMgr.purgeAsyncJobQueueItemId(job.getId());
830827
}
831828
});

server/src/com/cloud/configuration/Config.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -521,15 +521,6 @@ public enum Config {
521521
KVMSnapshotEnabled("Snapshots", SnapshotManager.class, Boolean.class, "kvm.snapshot.enabled", "false", "whether snapshot is enabled for KVM hosts", null),
522522

523523
// Advanced
524-
JobExpireMinutes("Advanced", ManagementServer.class, String.class, "job.expire.minutes", "1440", "Time (in minutes) for async-jobs to be kept in system", null),
525-
JobCancelThresholdMinutes(
526-
"Advanced",
527-
ManagementServer.class,
528-
String.class,
529-
"job.cancel.threshold.minutes",
530-
"60",
531-
"Time (in minutes) for async-jobs to be forcely cancelled if it has been in process for long",
532-
null),
533524
EventPurgeInterval(
534525
"Advanced",
535526
ManagementServer.class,

0 commit comments

Comments
 (0)