From 9a6c567269514b38f2ba03af5af206ef03940000 Mon Sep 17 00:00:00 2001 From: kishan Date: Fri, 1 Jul 2011 18:27:27 +0530 Subject: [PATCH] bug 10503: Skip usage events when StopAnswer details is Vm does not exist status 10503: resolved fixed --- .../cloud/hypervisor/xen/resource/CitrixResourceBase.java | 2 +- server/src/com/cloud/vm/UserVmManagerImpl.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java index ae63add2f9a..c2fd8bde2a6 100644 --- a/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java +++ b/core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java @@ -3003,7 +3003,7 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe synchronized (_vms) { _vms.remove(vmName); } - return new StopAnswer(cmd, "VM does not exist"); + return new StopAnswer(cmd, "VM does not exist", 0 , 0L, 0L); } Long bytesSent = 0L; Long bytesRcvd = 0L; diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 45ef5c83c57..80d4c8c920f 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2807,6 +2807,11 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager @Override public void finalizeStop(VirtualMachineProfile profile, StopAnswer answer) { + if("VM does not exist".equals(answer.getDetails())){ + // Stop answer returns true when Vm does not exist. + // This is a hack to avoid logging usage events + return; + } VMInstanceVO vm = profile.getVirtualMachine(); UsageEventVO usageEvent = new UsageEventVO(EventTypes.EVENT_VM_STOP, vm.getAccountId(), vm.getDataCenterIdToDeployIn(), vm.getId(), vm.getHostName()); _usageEventDao.persist(usageEvent);