From ca22308d7d301c90334e4860f3838297cab4db5a Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Wed, 19 Jan 2011 14:47:27 -0800 Subject: [PATCH] Removed useless methods --- .../cloud/vm/VirtualMachineManagerImpl.java | 87 ++++++++---------- .../src/com/cloud/vm/dao/ConsoleProxyDao.java | 7 +- .../com/cloud/vm/dao/ConsoleProxyDaoImpl.java | 91 ------------------ .../cloud/vm/dao/SecondaryStorageVmDao.java | 7 +- .../vm/dao/SecondaryStorageVmDaoImpl.java | 89 ------------------ server/src/com/cloud/vm/dao/UserVmDao.java | 20 +--- .../src/com/cloud/vm/dao/UserVmDaoImpl.java | 92 +------------------ .../src/com/cloud/vm/dao/VMInstanceDao.java | 2 - .../com/cloud/vm/dao/VMInstanceDaoImpl.java | 38 -------- 9 files changed, 43 insertions(+), 390 deletions(-) diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index 9d11809c915..923414dbb76 100644 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -478,49 +478,50 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager { while (retry-- != 0) { Transaction txn = Transaction.currentTxn(); txn.start(); - if (stateTransitTo(vm, Event.StartRequested, null, work.getId())) { - - Journal journal = new Journal.LogJournal("Creating " + vm, s_logger); - work = _workDao.persist(work); - ReservationContextImpl context = new ReservationContextImpl(work.getId(), journal, caller, account); + try { + if (stateTransitTo(vm, Event.StartRequested, null, work.getId())) { + + Journal journal = new Journal.LogJournal("Creating " + vm, s_logger); + work = _workDao.persist(work); + ReservationContextImpl context = new ReservationContextImpl(work.getId(), journal, caller, account); + + if (s_logger.isDebugEnabled()) { + s_logger.debug("Successfully transitioned to start state for " + vm + " reservation id = " + work.getId()); + } + return new Ternary(vmGuru.findById(vmId), context, work); + } if (s_logger.isDebugEnabled()) { - s_logger.debug("Successfully transitioned to start state for " + vm + " reservation id = " + work.getId()); + s_logger.debug("Determining why we're unable to update the state to Starting for " + vm); + } + + VMInstanceVO instance = _vmDao.lockRow(vmId, true); + if (instance == null) { + throw new ConcurrentOperationException("Unable to acquire lock on " + vm); } - txn.commit(); - return new Ternary(vmGuru.findById(vmId), context, work); - } - - if (s_logger.isDebugEnabled()) { - s_logger.debug("Determining why we're unable to update the state to Starting for " + vm); - } - - VMInstanceVO instance = _vmDao.lockRow(vmId, true); - if (instance == null) { - throw new ConcurrentOperationException("Unable to acquire lock on " + vm); - } - - State state = instance.getState(); - if (state == State.Running) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("VM is already started: " + vm); + + State state = instance.getState(); + if (state == State.Running) { + if (s_logger.isDebugEnabled()) { + s_logger.debug("VM is already started: " + vm); + } + return null; } - txn.commit(); - return null; - } - - if (state.isTransitional()) { - if (!checkWorkItems(vm, state)) { - throw new ConcurrentOperationException("There are concurrent operations on the VM " + vm); - } else { - continue; + + if (state.isTransitional()) { + if (!checkWorkItems(vm, state)) { + throw new ConcurrentOperationException("There are concurrent operations on the VM " + vm); + } else { + continue; + } } - } - - if (state != State.Stopped) { - s_logger.debug("VM " + vm + " is not in a state to be started: " + state); + + if (state != State.Stopped) { + s_logger.debug("VM " + vm + " is not in a state to be started: " + state); + return null; + } + } finally { txn.commit(); - return null; } } @@ -898,17 +899,7 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager { protected boolean stateTransitTo(VMInstanceVO vm, VirtualMachine.Event e, Long hostId, String reservationId) { vm.setReservationId(reservationId); - if (vm instanceof UserVmVO) { - return _stateMachine.transitTo(vm, e, hostId, _userVmDao); - } else if (vm instanceof ConsoleProxyVO) { - return _stateMachine.transitTo(vm, e, hostId, _consoleDao); - } else if (vm instanceof SecondaryStorageVmVO) { - return _stateMachine.transitTo(vm, e, hostId, _secondaryDao); - } else if (vm instanceof DomainRouterVO) { - return _stateMachine.transitTo(vm, e, hostId, _routerDao); - } else { - return _stateMachine.transitTo(vm, e, hostId, _vmDao); - } + return _stateMachine.transitTo(vm, e, hostId, _vmDao); } @Override diff --git a/server/src/com/cloud/vm/dao/ConsoleProxyDao.java b/server/src/com/cloud/vm/dao/ConsoleProxyDao.java index 1b06d2a61cd..3190e05f800 100644 --- a/server/src/com/cloud/vm/dao/ConsoleProxyDao.java +++ b/server/src/com/cloud/vm/dao/ConsoleProxyDao.java @@ -24,13 +24,10 @@ import java.util.List; import com.cloud.info.ConsoleProxyLoadInfo; import com.cloud.utils.Pair; import com.cloud.utils.db.GenericDao; -import com.cloud.utils.fsm.StateDao; import com.cloud.vm.ConsoleProxyVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; -public interface ConsoleProxyDao extends GenericDao, StateDao { +public interface ConsoleProxyDao extends GenericDao { public void update(long id, int activeSession, Date updateTime, byte[] sessionDetails); @@ -49,6 +46,4 @@ public interface ConsoleProxyDao extends GenericDao, State public int getProxyStaticLoad(long proxyVmId); public int getProxyActiveLoad(long proxyVmId); public List getRunningProxyListByMsid(long msid); - - public boolean updateIf(ConsoleProxyVO vm, VirtualMachine.Event event, Long hostId); } diff --git a/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java b/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java index 090ab00ad48..401d004dc52 100644 --- a/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java +++ b/server/src/com/cloud/vm/dao/ConsoleProxyDaoImpl.java @@ -38,9 +38,6 @@ import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.Transaction; import com.cloud.utils.db.UpdateBuilder; import com.cloud.vm.ConsoleProxyVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; -import com.cloud.vm.VirtualMachine.Event; import com.cloud.vm.VirtualMachine.State; @Local(value={ConsoleProxyDao.class}) @@ -153,59 +150,6 @@ public class ConsoleProxyDaoImpl extends GenericDaoBase im assert _updateTimeAttr != null : "Couldn't get this updateTime attribute"; } - @Override - public boolean updateIf(ConsoleProxyVO vm, VirtualMachine.Event event, Long hostId) { - State oldState = vm.getState(); - State newState = oldState.getNextState(event); - - Long oldHostId = vm.getHostId(); - long oldDate = vm.getUpdated(); - - if (newState == null) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("There's no way to transition from old state: " + oldState.toString() + " event: " + event.toString()); - } - return false; - } - - SearchCriteria sc = StateChangeSearch.create(); - sc.setParameters("id", vm.getId()); - sc.setParameters("states", oldState); - sc.setParameters("host", vm.getHostId()); - sc.setParameters("update", vm.getUpdated()); - - vm.incrUpdated(); - UpdateBuilder ub = getUpdateBuilder(vm); - - if(newState == State.Running) { - // save current running host id - ub.set(vm, "lastHostId", vm.getHostId()); - } - - ub.set(vm, _updateTimeAttr, new Date()); - ub.set(vm, "state", newState); - ub.set(vm, "hostId", hostId); - - if (newState == State.Stopped) { - vm.setActiveSession(0); - ub.set(vm, "hostId", null); - } - - int result = update(vm, sc); - - if (result == 0 && s_logger.isDebugEnabled()) { - ConsoleProxyVO vo = findById(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()); - str.append("} New Data: {Host=").append(vm.getHostId()).append("; State=").append(vm.getState().toString()).append("; updated=").append(vm.getUpdated()); - str.append("} Stale Data: {Host=").append(oldHostId).append("; State=").append(oldState.toString()).append("; updated=").append(oldDate).append("}"); - s_logger.debug(str.toString()); - } - - return result > 0; - } - - @Override public void update(long id, int activeSession, Date updateTime, byte[] sessionDetails) { ConsoleProxyVO ub = createForUpdate(); @@ -399,41 +343,6 @@ public class ConsoleProxyDaoImpl extends GenericDaoBase im return l; } - @Override - public boolean updateState(State oldState, Event event, - State newState, VMInstanceVO vm, Long hostId) { - if (newState == null) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("There's no way to transition from old state: " + oldState.toString() + " event: " + event.toString()); - } - return false; - } - - ConsoleProxyVO consoleVM = (ConsoleProxyVO)vm; - - SearchCriteria sc = StateChangeSearch.create(); - sc.setParameters("id", consoleVM.getId()); - sc.setParameters("states", oldState); - sc.setParameters("host", consoleVM.getHostId()); - sc.setParameters("update", consoleVM.getUpdated()); - - vm.incrUpdated(); - UpdateBuilder ub = getUpdateBuilder(consoleVM); - ub.set(consoleVM, "state", newState); - ub.set(consoleVM, "hostId", hostId); - ub.set(consoleVM, _updateTimeAttr, new Date()); - - int result = update(consoleVM, sc); - if (result == 0 && s_logger.isDebugEnabled()) { - ConsoleProxyVO vo = findById(consoleVM.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()); - str.append("} Stale Data: {Host=").append(consoleVM.getHostId()).append("; State=").append(consoleVM.getState().toString()).append("; updated=").append(consoleVM.getUpdated()).append("}"); - s_logger.debug(str.toString()); - } - return result > 0; - } - @Override public List listByLastHostId(long hostId) { SearchCriteria sc = LastHostSearch.create(); diff --git a/server/src/com/cloud/vm/dao/SecondaryStorageVmDao.java b/server/src/com/cloud/vm/dao/SecondaryStorageVmDao.java index 17092855595..1bd3c69938b 100644 --- a/server/src/com/cloud/vm/dao/SecondaryStorageVmDao.java +++ b/server/src/com/cloud/vm/dao/SecondaryStorageVmDao.java @@ -20,13 +20,10 @@ package com.cloud.vm.dao; import java.util.List; import com.cloud.utils.db.GenericDao; -import com.cloud.utils.fsm.StateDao; import com.cloud.vm.SecondaryStorageVmVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; -public interface SecondaryStorageVmDao extends GenericDao, StateDao { +public interface SecondaryStorageVmDao extends GenericDao { public List getSecStorageVmListInStates(long dataCenterId, State... states); public List getSecStorageVmListInStates(State... states); @@ -40,6 +37,4 @@ public interface SecondaryStorageVmDao extends GenericDao getRunningSecStorageVmListByMsid(long msid); - - public boolean updateIf(SecondaryStorageVmVO vm, VirtualMachine.Event event, Long hostId); } diff --git a/server/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java b/server/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java index 48b5c328d34..6f6c35c2b87 100644 --- a/server/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java +++ b/server/src/com/cloud/vm/dao/SecondaryStorageVmDaoImpl.java @@ -21,7 +21,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Date; import java.util.List; import javax.ejb.Local; @@ -35,9 +34,6 @@ import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.Transaction; import com.cloud.utils.db.UpdateBuilder; import com.cloud.vm.SecondaryStorageVmVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; -import com.cloud.vm.VirtualMachine.Event; import com.cloud.vm.VirtualMachine.State; @Local(value={SecondaryStorageVmDao.class}) @@ -93,56 +89,6 @@ public class SecondaryStorageVmDaoImpl extends GenericDaoBase sc = StateChangeSearch.create(); - sc.setParameters("id", vm.getId()); - sc.setParameters("states", oldState); - sc.setParameters("host", vm.getHostId()); - sc.setParameters("update", vm.getUpdated()); - - vm.incrUpdated(); - UpdateBuilder ub = getUpdateBuilder(vm); - if(newState == State.Running) { - // save current running host id - ub.set(vm, "lastHostId", vm.getHostId()); - } - - ub.set(vm, _updateTimeAttr, new Date()); - ub.set(vm, "state", newState); - ub.set(vm, "hostId", hostId); - if (newState == State.Stopped) { - ub.set(vm, "hostId", null); - } - - int result = update(vm, sc); - - if (result == 0 && s_logger.isDebugEnabled()) { - SecondaryStorageVmVO vo = findById(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()); - str.append("} New Data: {Host=").append(vm.getHostId()).append("; State=").append(vm.getState().toString()).append("; updated=").append(vm.getUpdated()); - str.append("} Stale Data: {Host=").append(oldHostId).append("; State=").append(oldState.toString()).append("; updated=").append(oldDate).append("}"); - s_logger.debug(str.toString()); - } - - return result > 0; - } - - @Override public boolean remove(Long id) { Transaction txn = Transaction.currentTxn(); @@ -219,41 +165,6 @@ public class SecondaryStorageVmDaoImpl extends GenericDaoBase sc = StateChangeSearch.create(); - sc.setParameters("id", secondaryVM.getId()); - sc.setParameters("states", oldState); - sc.setParameters("host", secondaryVM.getHostId()); - sc.setParameters("update", secondaryVM.getUpdated()); - - vm.incrUpdated(); - UpdateBuilder ub = getUpdateBuilder(secondaryVM); - ub.set(secondaryVM, "state", newState); - ub.set(secondaryVM, "hostId", hostId); - ub.set(secondaryVM, _updateTimeAttr, new Date()); - - int result = update(secondaryVM, sc); - if (result == 0 && s_logger.isDebugEnabled()) { - SecondaryStorageVmVO vo = findById(secondaryVM.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()); - str.append("} Stale Data: {Host=").append(secondaryVM.getHostId()).append("; State=").append(secondaryVM.getState().toString()).append("; updated=").append(secondaryVM.getUpdated()).append("}"); - s_logger.debug(str.toString()); - } - return result > 0; - } - @Override public List listByLastHostId(long hostId) { SearchCriteria sc = LastHostSearch.create(); diff --git a/server/src/com/cloud/vm/dao/UserVmDao.java b/server/src/com/cloud/vm/dao/UserVmDao.java index f40f52d5708..52943cc772b 100755 --- a/server/src/com/cloud/vm/dao/UserVmDao.java +++ b/server/src/com/cloud/vm/dao/UserVmDao.java @@ -22,13 +22,10 @@ import java.util.List; import com.cloud.uservm.UserVm; import com.cloud.utils.db.GenericDao; -import com.cloud.utils.fsm.StateDao; import com.cloud.vm.UserVmVO; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; -public interface UserVmDao extends GenericDao, StateDao { +public interface UserVmDao extends GenericDao { List listByAccountId(long id); List listByAccountAndPod(long accountId, long podId); @@ -47,21 +44,6 @@ public interface UserVmDao extends GenericDao, StateDao implements UserVmDao { - public static final Logger s_logger = Logger.getLogger(UserVmDaoImpl.class.getName()); + public static final Logger s_logger = Logger.getLogger(UserVmDaoImpl.class); protected final SearchBuilder RouterStateSearch; protected final SearchBuilder RouterIdSearch; @@ -200,57 +196,6 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use return listIncludingRemovedBy(sc); } - @Override - public boolean updateIf(UserVmVO vm, VirtualMachine.Event event, Long hostId) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("UpdateIf called " + vm.toString() + " event " + event.toString() + " host " + hostId); - } - - State oldState = vm.getState(); - State newState = oldState.getNextState(event); - Long oldHostId = vm.getHostId(); - long oldDate = vm.getUpdated(); - - - if (newState == null) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("There's no way to transition from old state: " + oldState.toString() + " event: " + event.toString()); - } - return false; - } - - SearchCriteria sc = StateChangeSearch.create(); - sc.setParameters("id", vm.getId()); - sc.setParameters("states", oldState); - sc.setParameters("host", vm.getHostId()); - sc.setParameters("update", vm.getUpdated()); - - vm.incrUpdated(); - UpdateBuilder ub = getUpdateBuilder(vm); - if(newState == State.Running) { - // save current running host id to last_host_id field - ub.set(vm, "lastHostId", vm.getHostId()); - } else if(newState == State.Expunging) { - ub.set(vm, "lastHostId", null); - } - - ub.set(vm, "state", newState); - ub.set(vm, "hostId", hostId); - ub.set(vm, _updateTimeAttr, new Date()); - - int result = update(vm, sc); - if (result == 0 && s_logger.isDebugEnabled()) { - UserVmVO vo = findById(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()); - str.append("} New Data: {Host=").append(vm.getHostId()).append("; State=").append(vm.getState().toString()).append("; updated=").append(vm.getUpdated()); - str.append("} Stale Data: {Host=").append(oldHostId).append("; State=").append(oldState.toString()).append("; updated=").append(oldDate).append("}"); - s_logger.debug(str.toString()); - } - - return result > 0; - } - @Override public List findDestroyedVms(Date date) { SearchCriteria sc = DestroySearch.create(); @@ -361,41 +306,6 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use return findOneBy(sc); } - @Override - public boolean updateState(State oldState, Event event, - State newState, VMInstanceVO vm, Long hostId) { - if (newState == null) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("There's no way to transition from old state: " + oldState.toString() + " event: " + event.toString()); - } - return false; - } - - UserVmVO userVM = (UserVmVO)vm; - - SearchCriteria sc = StateChangeSearch.create(); - sc.setParameters("id", userVM.getId()); - sc.setParameters("states", oldState); - sc.setParameters("host", userVM.getHostId()); - sc.setParameters("update", userVM.getUpdated()); - - vm.incrUpdated(); - UpdateBuilder ub = getUpdateBuilder(userVM); - ub.set(userVM, "state", newState); - ub.set(userVM, "hostId", hostId); - ub.set(userVM, _updateTimeAttr, new Date()); - - int result = update(userVM, sc); - if (result == 0 && s_logger.isDebugEnabled()) { - UserVmVO vo = findById(userVM.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()); - str.append("} Stale Data: {Host=").append(userVM.getHostId()).append("; State=").append(userVM.getState().toString()).append("; updated=").append(userVM.getUpdated()).append("}"); - s_logger.debug(str.toString()); - } - return result > 0; - } - @Override public List listByLastHostId(Long hostId) { SearchCriteria sc = LastHostSearch.create(); diff --git a/server/src/com/cloud/vm/dao/VMInstanceDao.java b/server/src/com/cloud/vm/dao/VMInstanceDao.java index 8ad0edcd9f5..31cf71c3edf 100644 --- a/server/src/com/cloud/vm/dao/VMInstanceDao.java +++ b/server/src/com/cloud/vm/dao/VMInstanceDao.java @@ -53,8 +53,6 @@ public interface VMInstanceDao extends GenericDao, StateDao< */ public List listNonExpungedByZoneAndTemplate(long zoneId, long templateId); - boolean updateIf(VMInstanceVO vm, VirtualMachine.Event event, Long hostId, String reservationId); - /** * Find vm instance with names like. * diff --git a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java index 5875a4420e1..732278312ec 100644 --- a/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java +++ b/server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java @@ -153,44 +153,6 @@ public class VMInstanceDaoImpl extends GenericDaoBase implem return listBy(sc); } - @Override - public boolean updateIf(VMInstanceVO vm, VirtualMachine.Event event, Long hostId, String reservationId) { - - State oldState = vm.getState(); - State newState = oldState.getNextState(event); - - if (newState == null) { - if (s_logger.isDebugEnabled()) { - s_logger.debug("There's no way to transition from old state: " + oldState.toString() + " event: " + event.toString()); - } - return false; - } - - SearchCriteria sc = StateChangeSearch.create(); - sc.setParameters("id", vm.getId()); - sc.setParameters("states", oldState); - sc.setParameters("host", vm.getHostId()); - sc.setParameters("update", vm.getUpdated()); - - vm.incrUpdated(); - vm.setReservationId(reservationId); - UpdateBuilder ub = getUpdateBuilder(vm); - ub.set(vm, "state", newState); - ub.set(vm, "hostId", hostId); - ub.set(vm, _updateTimeAttr, new Date()); - - - int result = update(vm, sc); - if (result == 0 && s_logger.isDebugEnabled()) { - VMInstanceVO vo = findById(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()); - str.append("} Stale Data: {Host=").append(vm.getHostId()).append("; State=").append(vm.getState().toString()).append("; updated=").append(vm.getUpdated()).append("}"); - s_logger.debug(str.toString()); - } - return result > 0; - } - @Override public List listByHostId(long hostid) { SearchCriteria sc = HostSearch.create();