From b77723df13d5ef5695ca69d74adff9309de3b8ef Mon Sep 17 00:00:00 2001 From: Anthony Xu Date: Mon, 22 Jul 2013 15:49:11 -0700 Subject: [PATCH] don't update VM state if the state doesn't really change. updating VM state increases the update count, which might cause real VM update fail --- engine/schema/src/com/cloud/vm/dao/VMInstanceDaoImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engine/schema/src/com/cloud/vm/dao/VMInstanceDaoImpl.java b/engine/schema/src/com/cloud/vm/dao/VMInstanceDaoImpl.java index 8cbc6b64dea..e8f98e9ca26 100644 --- a/engine/schema/src/com/cloud/vm/dao/VMInstanceDaoImpl.java +++ b/engine/schema/src/com/cloud/vm/dao/VMInstanceDaoImpl.java @@ -398,6 +398,10 @@ public class VMInstanceDaoImpl extends GenericDaoBase implem Long oldHostId = vmi.getHostId(); Long oldUpdated = vmi.getUpdated(); Date oldUpdateDate = vmi.getUpdateTime(); + if ( newState.equals(oldState) && newHostId != null && newHostId.equals(oldHostId) ) { + // state is same, don't need to update + return true; + } SearchCriteria sc = StateChangeSearch.create(); sc.setParameters("id", vmi.getId());