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

Reply via email to