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 2ba5d1e7d3b..3e26fc1c005 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 @@ -255,14 +255,17 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, s_logger.debug("Publish async job-" + jobId + " complete on message bus"); } + publishOnEventBus(job, "complete"); // publish before the instance type and ID are wiped out + if (s_logger.isDebugEnabled()) { - s_logger.debug("Wake up jobs related to job-" + jobId); + s_logger.debug("Wake up jobs related to job- " + jobId); } + List wakeupList = Transaction.execute(new TransactionCallback>() { @Override public List doInTransaction(TransactionStatus status) { if (s_logger.isDebugEnabled()) { - s_logger.debug("Update db status for job-" + jobId); + s_logger.debug("Update db status for job- " + jobId); } job.setCompleteMsid(getMsid()); job.setStatus(jobStatus); @@ -279,7 +282,7 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, _jobDao.update(jobId, job); if (s_logger.isDebugEnabled()) { - s_logger.debug("Wake up jobs joined with job-" + jobId + " and disjoin all subjobs created from job- " + jobId); + s_logger.debug("Wake up jobs joined with job- " + jobId + " and disjoin all subjobs created from job- " + jobId); } List wakeupList = wakeupByJoinedJobCompletion(jobId); _joinMapDao.disjoinAllJobs(jobId);