Repository: cloudstack
Updated Branches:
  refs/heads/master 95daa14e2 -> 6df38427c


CLOUDSTACK-7566:Many jobs getting stuck in pending state and cloud is unusable.

(cherry picked from commit a2d85c8cae5f603bbcfcd3659c1207f0bfe461a7)

Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>

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


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6df38427
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6df38427
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6df38427

Branch: refs/heads/master
Commit: 6df38427cffe9cab5a2a842571941a97a3a07b52
Parents: 95daa14
Author: Min Chen <min.c...@citrix.com>
Authored: Tue Sep 16 15:14:08 2014 -0700
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Wed Nov 12 21:28:31 2014 +0530

----------------------------------------------------------------------
 .../cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6df38427/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java
----------------------------------------------------------------------
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 2ba5d1e..3e26fc1 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<Long> wakeupList = Transaction.execute(new 
TransactionCallback<List<Long>>() {
             @Override
             public List<Long> 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<Long> wakeupList = wakeupByJoinedJobCompletion(jobId);
                 _joinMapDao.disjoinAllJobs(jobId);

Reply via email to