From 6cfad45f1ebdc2cf7696c07568806d46d015e2a0 Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Wed, 3 Aug 2011 16:29:02 -0700 Subject: [PATCH] schedule the work after transaction --- .../cloud/network/security/SecurityGroupManagerImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java index 586b7240237..04de25e28e4 100755 --- a/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java +++ b/server/src/com/cloud/network/security/SecurityGroupManagerImpl.java @@ -415,16 +415,17 @@ public class SecurityGroupManagerImpl implements SecurityGroupManager, SecurityG work = new SecurityGroupWorkVO(vmId, null, null, SecurityGroupWorkVO.Step.Scheduled, null); work = _workDao.persist(work); if (s_logger.isTraceEnabled()) { - s_logger.trace("Security Group Mgr: created new work item for " + vmId); + s_logger.trace("Security Group Mgr: created new work item for " + vmId + "; id = " + work.getId()); } } work.setLogsequenceNumber(log.getLogsequence()); _workDao.update(work.getId(), work); - - _executorPool.schedule(new WorkerThread(), delayMs, TimeUnit.MILLISECONDS); } txn.commit(); + for (Long vmId : affectedVms) { + _executorPool.schedule(new WorkerThread(), delayMs, TimeUnit.MILLISECONDS); + } } finally { _workLock.unlock(); if (s_logger.isTraceEnabled()) {