Michael Kublin has uploaded a new change for review.

Change subject: engine: java.lang.NullPointerException for SpmStatusVDS
......................................................................

engine: java.lang.NullPointerException for SpmStatusVDS

The NullPointerException is occurred because of internal race between SPM stop
and monitoring of storage pool.
The race is not dangereous, so as workaround I solved an exception.
A race will be solved in the future

Change-Id: I4417d1721cfe8365780345e01dbe84c6636cca6e
Bug-Url: https://bugzilla.redhat.com/920736
Signed-off-by: Michael Kublin <mkub...@redhat.com>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
1 file changed, 4 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/45/13545/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
index 40ed274..156f9fb 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
@@ -197,9 +197,10 @@
             // ugly patch because vdsm doesnt check if host is spm on spm
             // operations
             VDSReturnValue result = null;
-            if (mCurrentVdsId != null) {
+            Guid curVdsId = mCurrentVdsId;
+            if (curVdsId != null) {
                 result = 
ResourceManager.getInstance().runVdsCommand(VDSCommandType.SpmStatus,
-                        new SpmStatusVDSCommandParameters(mCurrentVdsId, 
_storagePoolId));
+                        new SpmStatusVDSCommandParameters(curVdsId, 
_storagePoolId));
             }
 
             if (result == null
@@ -233,7 +234,7 @@
                             (HashMap<Guid, AsyncTaskStatus>) ResourceManager
                                     .getInstance()
                                     
.runVdsCommand(VDSCommandType.HSMGetAllTasksStatuses,
-                                            new 
VdsIdVDSCommandParametersBase(mCurrentVdsId)).getReturnValue();
+                                            new 
VdsIdVDSCommandParametersBase(curVdsId)).getReturnValue();
                     boolean allTasksFinished = true;
                     if (tasksList != null) {
                         for (AsyncTaskStatus taskStatus : tasksList.values()) {


--
To view, visit http://gerrit.ovirt.org/13545
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4417d1721cfe8365780345e01dbe84c6636cca6e
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Michael Kublin <mkub...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to