Roy Golan has uploaded a new change for review. Change subject: core: Update Vm dynamic using VmManager ......................................................................
core: Update Vm dynamic using VmManager update the VM dynamic using the VmManager. Its should be quicker and much less blocking as this is done in a per-vm lock supplied by the VmManager which means no contention on the Host lock. also this would help to manage a cached instance of the VM in the comming future Change-Id: I65375243d4260b40a0bed1bcccbc48ef83f68a99 Signed-off-by: Roy Golan <rgo...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/UpdateVmDynamicDataVDSCommandParameters.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/UpdateVmDynamicDataVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java 7 files changed, 12 insertions(+), 25 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/39/35839/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java index 71f0a01..4b9a9c8 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/HibernateVmCommand.java @@ -115,8 +115,7 @@ getVm().setStatus(VMStatus.PreparingForHibernate); runVdsCommand(VDSCommandType.UpdateVmDynamicData, - new UpdateVmDynamicDataVDSCommandParameters(getVdsId(), - getVm().getDynamicData())); + new UpdateVmDynamicDataVDSCommandParameters(getVm().getDynamicData())); getCompensationContext().stateChanged(); return null; } @@ -194,8 +193,7 @@ // end of temp code runVdsCommand(VDSCommandType.UpdateVmDynamicData, - new UpdateVmDynamicDataVDSCommandParameters(getVdsId(), - getVm().getDynamicData())); + new UpdateVmDynamicDataVDSCommandParameters(getVm().getDynamicData())); getParameters().setVdsmTaskIds(new ArrayList<Guid>(getReturnValue().getVdsmTaskIdList())); @@ -353,8 +351,7 @@ runVdsCommand( VDSCommandType.UpdateVmDynamicData, - new UpdateVmDynamicDataVDSCommandParameters( - new Guid(getVm().getRunOnVds().toString()), getVm().getDynamicData())); + new UpdateVmDynamicDataVDSCommandParameters(getVm().getDynamicData())); setSucceeded(true); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommandBase.java index f98e0de..e5ae147 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommandBase.java @@ -197,7 +197,7 @@ Backend.getInstance() .getResourceManager() .RunVdsCommand(VDSCommandType.UpdateVmDynamicData, - new UpdateVmDynamicDataVDSCommandParameters(getCurrentVdsId(), getVm().getDynamicData())); + new UpdateVmDynamicDataVDSCommandParameters(getVm().getDynamicData())); } } finally { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java index 105e51e..c2123ab0 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/StopVmCommandBase.java @@ -188,8 +188,7 @@ Backend.getInstance() .getResourceManager() .RunVdsCommand(VDSCommandType.UpdateVmDynamicData, - new UpdateVmDynamicDataVDSCommandParameters(getVm().getRunOnVds(), - vmDynamicData)); + new UpdateVmDynamicDataVDSCommandParameters(vmDynamicData)); } else { getVmDynamicDao().update(vmDynamicData); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java index 897a490..7445357 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmHandler.java @@ -760,7 +760,7 @@ Backend.getInstance() .getResourceManager() .RunVdsCommand(VDSCommandType.UpdateVmDynamicData, - new UpdateVmDynamicDataVDSCommandParameters(vdsId, vmDynamic)); + new UpdateVmDynamicDataVDSCommandParameters(vmDynamic)); } public static void updateDefaultTimeZone(VmBase vmBase) { diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/UpdateVmDynamicDataVDSCommandParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/UpdateVmDynamicDataVDSCommandParameters.java index 77ba8a7..8f8420f 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/UpdateVmDynamicDataVDSCommandParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/UpdateVmDynamicDataVDSCommandParameters.java @@ -3,7 +3,7 @@ import org.ovirt.engine.core.common.businessentities.VmDynamic; import org.ovirt.engine.core.compat.Guid; -public class UpdateVmDynamicDataVDSCommandParameters extends VdsIdVDSCommandParametersBase { +public class UpdateVmDynamicDataVDSCommandParameters extends VdsAndVmIDVDSParametersBase{ private VmDynamic privateVmDynamic; public VmDynamic getVmDynamic() { @@ -14,8 +14,7 @@ privateVmDynamic = value; } - public UpdateVmDynamicDataVDSCommandParameters(Guid vdsId, VmDynamic vmDynamic) { - super(vdsId); + public UpdateVmDynamicDataVDSCommandParameters(VmDynamic vmDynamic) { setVmDynamic(vmDynamic); } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/UpdateVmDynamicDataVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/UpdateVmDynamicDataVDSCommand.java index 7ac32ea..2d42e59 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/UpdateVmDynamicDataVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/UpdateVmDynamicDataVDSCommand.java @@ -2,17 +2,13 @@ import org.ovirt.engine.core.common.vdscommands.UpdateVmDynamicDataVDSCommandParameters; -public class UpdateVmDynamicDataVDSCommand<P extends UpdateVmDynamicDataVDSCommandParameters> extends VdsIdVDSCommandBase<P> { +public class UpdateVmDynamicDataVDSCommand<P extends UpdateVmDynamicDataVDSCommandParameters> extends ManagingVmCommand<P> { public UpdateVmDynamicDataVDSCommand(P parameters) { super(parameters); } - @Override - protected void executeVdsIdCommand() { - if (_vdsManager != null) { - _vdsManager.updateVmDynamic(getParameters().getVmDynamic()); - } else { - getVDSReturnValue().setSucceeded(false); - } + @Override protected void executeVmCommand() { + vmManager.update(getParameters().getVmDynamic()); + getVDSReturnValue().setSucceeded(true); } } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java index 49871bc..a01d925 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java @@ -180,10 +180,6 @@ heartbeat); } - public void updateVmDynamic(VmDynamic vmDynamic) { - DbFacade.getInstance().getVmDynamicDao().update(vmDynamic); - } - @OnTimerMethodAnnotation("onTimer") public void onTimer() { if (LockManagerFactory.getLockManager().acquireLock(monitoringLock).getFirst()) { -- To view, visit http://gerrit.ovirt.org/35839 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I65375243d4260b40a0bed1bcccbc48ef83f68a99 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Roy Golan <rgo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches