Federico Simoncelli has uploaded a new change for review.

Change subject: backend: don't stop tasks on storagePoolUpEvent
......................................................................

backend: don't stop tasks on storagePoolUpEvent

When a new SPM is elected all the tasks are already stopped by
definition.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1003506
Change-Id: I2014a2e5c839f2c061b67e6b147c9577914f7101
Signed-off-by: Federico Simoncelli <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskManager.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java
4 files changed, 5 insertions(+), 38 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/20044/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskManager.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskManager.java
index 4865fbb..8b1102d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskManager.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AsyncTaskManager.java
@@ -38,8 +38,6 @@
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector;
 import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase;
 import org.ovirt.engine.core.utils.collections.MultiValueMapUtils;
-import org.ovirt.engine.core.utils.linq.LinqUtils;
-import org.ovirt.engine.core.utils.linq.Predicate;
 import org.ovirt.engine.core.utils.log.Log;
 import org.ovirt.engine.core.utils.log.LogFactory;
 import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil;
@@ -747,28 +745,6 @@
         //in any case no need to hold them in the map that represents the 
tasksInDbAfterRestart
         tasksInDbAfterRestart.remove(sp.getId());
 
-    }
-
-    /**
-     * Retrieves all tasks from the specified storage pool and stops them.
-     *
-     * @param sp
-     */
-    public synchronized void StopStoragePoolTasks(final StoragePool sp) {
-        log.infoFormat("Attempting to get and stop tasks on storage pool 
'{0}'",
-                sp.getName());
-
-        AddStoragePoolExistingTasks(sp);
-
-        List<SPMAsyncTask> list = LinqUtils.filter(_tasks.values(), new 
Predicate<SPMAsyncTask>() {
-            @Override
-            public boolean eval(SPMAsyncTask a) {
-                return a.getStoragePoolID().equals(sp.getId());
-            }
-        });
-        for (SPMAsyncTask task : list) {
-            task.stopTask();
-        }
     }
 
     /**
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
index 34bc364..4f7ccff 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VdsEventListener.java
@@ -246,12 +246,8 @@
     }
 
     @Override
-    public void storagePoolUpEvent(StoragePool storagePool, boolean isNewSpm) {
-        if (isNewSpm) {
-            AsyncTaskManager.getInstance().StopStoragePoolTasks(storagePool);
-        } else {
-            
AsyncTaskManager.getInstance().AddStoragePoolExistingTasks(storagePool);
-        }
+    public void storagePoolUpEvent(StoragePool storagePool) {
+        
AsyncTaskManager.getInstance().AddStoragePoolExistingTasks(storagePool);
     }
 
     @Override
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
index cd1b424..db8093f 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/IVdsEventListener.java
@@ -44,7 +44,7 @@
 
     // void VdsNetworkConfigurationChanged(VDS vds);
 
-    void storagePoolUpEvent(StoragePool storagePool, boolean isNewSpm);
+    void storagePoolUpEvent(StoragePool storagePool);
 
 
     void storagePoolStatusChange(Guid storagePoolId, StoragePoolStatus status, 
AuditLogType auditLogType,
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 b889f7d..860815f 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
@@ -558,7 +558,7 @@
                         if 
(DbFacade.getInstance().isStoragePoolMasterUp(_storagePoolId)) {
                             ResourceManager.getInstance()
                                     .getEventListener()
-                                    .storagePoolUpEvent(storagePool, 
_isSpmStartCalled);
+                                    .storagePoolUpEvent(storagePool);
                         }
                     } catch (RuntimeException exp) {
                         log.error("Error in StoragePoolUpEvent - ", exp);
@@ -576,7 +576,6 @@
         }
 
         private String gethostFromVds() {
-            _isSpmStartCalled = false;
             String returnValue = null;
             Guid curVdsId = (mCurrentVdsId != null) ? mCurrentVdsId : 
Guid.Empty;
             StoragePool storagePool = 
DbFacade.getInstance().getStoragePoolDao().get(_storagePoolId);
@@ -720,8 +719,6 @@
 
             return vdsRelevantForSpmSelection;
         }
-
-        private boolean _isSpmStartCalled;
 
         private String handleSelectedVdsForSPM(StoragePool storagePool, 
RefObject<VDS> selectedVds,
                                                RefObject<SpmStatusResult> 
spmStatus, StoragePoolStatus prevStatus) {
@@ -946,9 +943,7 @@
                                     new 
SpmStartVDSCommandParameters(selectedVds.argvalue.getId(), _storagePoolId,
                                             spmStatus.getSpmId(), 
spmStatus.getSpmLVER(), storagePool
                                                     .getrecovery_mode(), 
vdsSpmIdToFence != -1, 
storagePool.getStoragePoolFormatType())).getReturnValue();
-                    if (spmStatus != null && spmStatus.getSpmStatus() == 
SpmStatus.SPM) {
-                        _isSpmStartCalled = true;
-                    } else {
+                    if (spmStatus == null || spmStatus.getSpmStatus() != 
SpmStatus.SPM) {
                         ResourceManager
                                 .getInstance()
                                 .getEventListener()


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2014a2e5c839f2c061b67e6b147c9577914f7101
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.3
Gerrit-Owner: Federico Simoncelli <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to