From a2160461911bec0365c5a6a2eaff84cc396661ad Mon Sep 17 00:00:00 2001 From: Min Chen Date: Fri, 25 Jul 2014 15:50:02 -0700 Subject: [PATCH] CLOUDSTACK-7165:[Automation] NPE observed during restart and expunge VM. --- server/src/com/cloud/api/dispatch/ParamProcessWorker.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java index 07c45babf6a..ad90812c6c5 100644 --- a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java +++ b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java @@ -33,7 +33,6 @@ import java.util.regex.Matcher; import javax.inject.Inject; - import org.apache.log4j.Logger; import org.apache.cloudstack.acl.ControlledEntity; @@ -220,16 +219,17 @@ public class ParamProcessWorker implements DispatchWorker { private void doAccessChecks(BaseCmd cmd, Map entitiesToAccess) { Account caller = CallContext.current().getCallingAccount(); - Account owner = _accountMgr.getActiveAccountById(cmd.getEntityOwnerId()); + // due to deleteAccount design flaw CLOUDSTACK-6588, we should still include those removed account as well to clean up leftover resources from that account + Account owner = _accountMgr.getAccount(cmd.getEntityOwnerId()); if (cmd instanceof BaseAsyncCreateCmd) { // check that caller can access the owner account. - _accountMgr.checkAccess(caller, null, true, owner); + _accountMgr.checkAccess(caller, null, false, owner); } if (!entitiesToAccess.isEmpty()) { // check that caller can access the owner account. - _accountMgr.checkAccess(caller, null, true, owner); + _accountMgr.checkAccess(caller, null, false, owner); for (Map.Entryentry : entitiesToAccess.entrySet()) { Object entity = entry.getKey(); if (entity instanceof ControlledEntity) {