From 77c1064c1343413ffecd876ef6bac5c73701c8d3 Mon Sep 17 00:00:00 2001 From: Darrin Husselmann Date: Fri, 7 Feb 2020 09:59:19 +0200 Subject: [PATCH] Fixed duplicate id error when creating VM work jobs --- .../cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/framework/jobs/src/main/java/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java b/framework/jobs/src/main/java/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java index 378e2f5bed90..6126b50101d3 100644 --- a/framework/jobs/src/main/java/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java +++ b/framework/jobs/src/main/java/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java @@ -49,6 +49,7 @@ import org.apache.cloudstack.framework.jobs.AsyncJobExecutionContext; import org.apache.cloudstack.framework.jobs.AsyncJobManager; import org.apache.cloudstack.framework.jobs.dao.AsyncJobDao; +import org.apache.cloudstack.framework.jobs.dao.VmWorkJobDao; import org.apache.cloudstack.framework.jobs.dao.AsyncJobJoinMapDao; import org.apache.cloudstack.framework.jobs.dao.AsyncJobJournalDao; import org.apache.cloudstack.framework.jobs.dao.SyncQueueItemDao; @@ -131,6 +132,8 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, @Inject private VMInstanceDao _vmInstanceDao; @Inject + private VmWorkJobDao _vmWorkJobDao; + @Inject private VolumeDetailsDao _volumeDetailsDao; @Inject private VolumeDao _volsDao; @@ -898,6 +901,9 @@ protected void expungeAsyncJob(final AsyncJobVO job) { Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(TransactionStatus status) { + if ("VmWork".equals(job.getType())) { + _vmWorkJobDao.expunge(job.getId()); + } _jobDao.expunge(job.getId()); // purge corresponding sync queue item _queueMgr.purgeAsyncJobQueueItemId(job.getId());