Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2100B17779 for ; Tue, 11 Nov 2014 12:03:41 +0000 (UTC) Received: (qmail 2194 invoked by uid 500); 11 Nov 2014 12:03:40 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 2066 invoked by uid 500); 11 Nov 2014 12:03:40 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 2025 invoked by uid 99); 11 Nov 2014 12:03:40 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Nov 2014 12:03:40 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 90CB39AC1BC; Tue, 11 Nov 2014 12:03:40 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: widodh@apache.org To: commits@cloudstack.apache.org Date: Tue, 11 Nov 2014 12:03:41 -0000 Message-Id: <9840ef0f0b644b9cb5fe943974fcfe55@git.apache.org> In-Reply-To: <6ac3de36fd044948a206f950eda30755@git.apache.org> References: <6ac3de36fd044948a206f950eda30755@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [02/50] [abbrv] git commit: updated refs/heads/statscollector-graphite to e06a814 CLOUDSTACK-7683: hold a db lock during vm expunge Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/812b0122 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/812b0122 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/812b0122 Branch: refs/heads/statscollector-graphite Commit: 812b0122e2972987e3b4a38cc7431ace78b09145 Parents: 885bba9 Author: Edison Su Authored: Thu Nov 6 15:22:34 2014 -0800 Committer: Edison Su Committed: Thu Nov 6 15:37:15 2014 -0800 ---------------------------------------------------------------------- server/src/com/cloud/vm/UserVmManagerImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/812b0122/server/src/com/cloud/vm/UserVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 2636096..01a692d 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -1703,6 +1703,10 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir @Override public boolean expunge(UserVmVO vm, long callerUserId, Account caller) { + vm = _vmDao.acquireInLockTable(vm.getId()); + if (vm == null) { + return false; + } try { List rootVol = _volsDao.findByInstanceAndType(vm.getId(), Volume.Type.ROOT); // expunge the vm @@ -1739,6 +1743,8 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } catch (ConcurrentOperationException e) { s_logger.warn("Concurrent operations on expunging " + vm, e); return false; + } finally { + _vmDao.releaseFromLockTable(vm.getId()); } }