Ravi Nori has uploaded a new change for review. Change subject: engine : Suspend VM fails with a NullPointerException ......................................................................
engine : Suspend VM fails with a NullPointerException Suspending a VM when Async Tasks with no entityInfo set in parameters are being executed throws a NPE Change-Id: I75a807af67c8f6683f2023fe37f7847ef0aa2eb5 Bug-Url: https://bugzilla.redhat.com/1160876 Signed-off-by: Ravi Nori <rn...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java 2 files changed, 10 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/35228/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java index 96aa003..db18c48 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java @@ -135,7 +135,8 @@ for (String memoryState : memoryStates) { VdcReturnValueBase retVal = runInternalAction( VdcActionType.RemoveMemoryVolumes, - new RemoveMemoryVolumesParameters(memoryState, getVmId()), cloneContextAndDetachFromParent()); + buildRemoveMemoryVolumesParameters(memoryState, getVmId()), + cloneContextAndDetachFromParent()); if (!retVal.getSucceeded()) { log.errorFormat("Failed to remove memory volumes whie removing vm {0} (volumes: {1})", @@ -144,6 +145,12 @@ } } + private RemoveMemoryVolumesParameters buildRemoveMemoryVolumesParameters(String memoryState, Guid vmId) { + RemoveMemoryVolumesParameters params = new RemoveMemoryVolumesParameters(memoryState, vmId); + params.setEntityInfo(getParameters().getEntityInfo()); + return params; + } + @Override protected boolean canDoAction() { if (getVm() == null) { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java index 5d01364..28a699c 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java @@ -375,7 +375,8 @@ } private boolean isCurrentTaskLookedFor(Guid id, SPMTask task) { - return (task instanceof CommandAsyncTask) && id.equals(task.getParameters().getEntityInfo().getId()) + return (task instanceof CommandAsyncTask) && task.getParameters().getEntityInfo() != null && + id.equals(task.getParameters().getEntityInfo().getId()) && (task.getState() != AsyncTaskState.Cleared) && (task.getState() != AsyncTaskState.ClearFailed); } -- To view, visit http://gerrit.ovirt.org/35228 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I75a807af67c8f6683f2023fe37f7847ef0aa2eb5 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.5 Gerrit-Owner: Ravi Nori <rn...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches