From 21afd1785ac5aaaad106d4e0e4e3ab76d97699fc Mon Sep 17 00:00:00 2001 From: alena Date: Tue, 2 Aug 2011 16:10:23 -0700 Subject: [PATCH] bug 10938: do search includingRemoved when generate the log for the vm state transition. The fix is needed for the specific case when expunge interval is really small, and vm gets expunged right after it's state transitioned to Destroyed, but before the log for state transition is generated status 10938: resolved fixed --- server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java index f65677ec41f..9e841f887f9 100644 --- a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java +++ b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java @@ -34,7 +34,6 @@ import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria.Func; import com.cloud.utils.db.SearchCriteria.Op; import com.cloud.utils.db.UpdateBuilder; -import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.Event; @@ -281,7 +280,7 @@ public class VMInstanceDaoImpl extends GenericDaoBase implem int result = update(vmi, sc); if (result == 0 && s_logger.isDebugEnabled()) { - VMInstanceVO vo = findById(vm.getId()); + VMInstanceVO vo = findByIdIncludingRemoved(vm.getId()); StringBuilder str = new StringBuilder("Unable to update ").append(vo.toString()); str.append(": DB Data={Host=").append(vo.getHostId()).append("; State=").append(vo.getState().toString()).append("; updated=").append(vo.getUpdated()).append("; time=").append(vo.getUpdateTime()); str.append("} New Data: {Host=").append(vm.getHostId()).append("; State=").append(vm.getState().toString()).append("; updated=").append(vmi.getUpdated()).append("; time=").append(vo.getUpdateTime());