Michael Kublin has uploaded a new change for review.

Change subject: engine: Reduced unneeded query and code clean up
......................................................................

engine: Reduced unneeded query and code clean up

The following patch is reduce a query and provides additonal clean ups and java 
code optimizations at
ConnectHostToStoragePoolServersCommand.
The following command is called during InitVdsOnUp, it is means that when vds 
going to status up we are
using a less queries.
Should improve mass vds statrtup

Change-Id: If4c6c2efc8d05fb3c1d0286cbd2978bfc7ddfaa7
Signed-off-by: Michael Kublin <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
1 file changed, 26 insertions(+), 39 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/9762/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
index 39cd83f..2b2086c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ConnectHostToStoragePooServerCommandBase.java
@@ -1,6 +1,9 @@
 package org.ovirt.engine.core.bll.storage;
 
+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.ovirt.engine.core.bll.InternalCommandAttribute;
 import org.ovirt.engine.core.common.action.StoragePoolParametersBase;
@@ -15,8 +18,8 @@
 public abstract class ConnectHostToStoragePooServerCommandBase<T extends 
StoragePoolParametersBase> extends
         StorageHandlingCommandBase<T> {
     private List<storage_server_connections> _connections;
-    private java.util.ArrayList<storage_server_connections> _isoConnections;
-    private java.util.ArrayList<storage_server_connections> _exportConnections;
+    private List<storage_server_connections> _isoConnections;
+    private List<storage_server_connections> _exportConnections;
     private StorageType _isoType = StorageType.NFS;
     private StorageType _exportType = StorageType.NFS;
     private boolean _needToConnectIso = false;
@@ -46,11 +49,11 @@
         return _connections;
     }
 
-    protected java.util.ArrayList<storage_server_connections> 
getIsoConnections() {
+    protected List<storage_server_connections> getIsoConnections() {
         return _isoConnections;
     }
 
-    protected java.util.ArrayList<storage_server_connections> 
getExportConnections() {
+    protected List<storage_server_connections> getExportConnections() {
         return _exportConnections;
     }
 
@@ -63,63 +66,47 @@
     }
 
     protected void InitConnectionList() {
-        java.util.ArrayList<storage_domains> isoDomains = 
GetStorageDomainsByStoragePoolId(StorageDomainType.ISO);
-        java.util.ArrayList<storage_domains> exportDomains =
-                
GetStorageDomainsByStoragePoolId(StorageDomainType.ImportExport);
+        List<storage_domains> allDomains = 
DbFacade.getInstance().getStorageDomainDao().getAllForStoragePool(
+                getStoragePool().getId());
+        List<storage_domains> isoDomains = 
getStorageDomainsByStoragePoolId(allDomains, StorageDomainType.ISO);
+        List<storage_domains> exportDomains =
+                getStorageDomainsByStoragePoolId(allDomains, 
StorageDomainType.ImportExport);
 
-        java.util.HashSet<storage_server_connections> connections = new 
java.util.HashSet<storage_server_connections>(
+        Set<storage_server_connections> connections = new 
HashSet<storage_server_connections>(
                 
DbFacade.getInstance().getStorageServerConnectionDao().getAllForStoragePool(getStoragePool().getId()));
         if (isoDomains.size() != 0) {
             _isoType = isoDomains.get(0).getstorage_type();
-            java.util.HashSet<storage_server_connections> isoConnections =
-                    new java.util.HashSet<storage_server_connections>(
+            Set<storage_server_connections> isoConnections =
+                    new HashSet<storage_server_connections>(
                             
StorageHelperDirector.getInstance().getItem(getIsoType())
                                     
.GetStorageServerConnectionsByDomain(isoDomains.get(0).getStorageStaticData()));
             if (_isoType != getStoragePool().getstorage_pool_type()) {
-                for (storage_server_connections connection : isoConnections) {
-                    if (connections.contains(connection)) {
-                        connections.remove(connection);
-                    }
-                }
+                connections.removeAll(isoConnections);
             } else {
-                for (storage_server_connections connection : connections) {
-                    if (isoConnections.contains(connection)) {
-                        isoConnections.remove(connection);
-                    }
-                }
+                isoConnections.removeAll(connections);
             }
-            _isoConnections = new 
java.util.ArrayList<storage_server_connections>(isoConnections);
+            _isoConnections = new 
ArrayList<storage_server_connections>(isoConnections);
             setNeedToConnectIso(_isoConnections.size() > 0);
         }
         if (exportDomains.size() != 0) {
             _exportType = exportDomains.get(0).getstorage_type();
-            java.util.HashSet<storage_server_connections> exportConnections =
-                    new java.util.HashSet<storage_server_connections>(
+            Set<storage_server_connections> exportConnections =
+                    new HashSet<storage_server_connections>(
                             
StorageHelperDirector.getInstance().getItem(getExportType())
                                     
.GetStorageServerConnectionsByDomain(exportDomains.get(0).getStorageStaticData()));
             if (_exportType != getStoragePool().getstorage_pool_type()) {
-                for (storage_server_connections connection : 
exportConnections) {
-                    if (connections.contains(connection)) {
-                        connections.remove(connection);
-                    }
-                }
+                connections.removeAll(exportConnections);
             } else {
-                for (storage_server_connections connection : connections) {
-                    if (exportConnections.contains(connection)) {
-                        exportConnections.remove(connection);
-                    }
-                }
+                exportConnections.removeAll(connections);
             }
-            _exportConnections = new 
java.util.ArrayList<storage_server_connections>(exportConnections);
+            _exportConnections = new 
ArrayList<storage_server_connections>(exportConnections);
             setNeedToConnectExport(exportConnections.size() > 0);
         }
-        _connections = new 
java.util.ArrayList<storage_server_connections>(connections);
+        _connections = new ArrayList<storage_server_connections>(connections);
     }
 
-    protected java.util.ArrayList<storage_domains> 
GetStorageDomainsByStoragePoolId(StorageDomainType type) {
-        List<storage_domains> allDomains = 
DbFacade.getInstance().getStorageDomainDao().getAllForStoragePool(
-                getStoragePool().getId());
-        java.util.ArrayList<storage_domains> domains = new 
java.util.ArrayList<storage_domains>();
+    protected List<storage_domains> 
getStorageDomainsByStoragePoolId(List<storage_domains> allDomains, 
StorageDomainType type) {
+        List<storage_domains> domains = new ArrayList<storage_domains>();
         for (storage_domains s : allDomains) {
             StorageDomainStatus status = s.getstatus();
             if (s.getstorage_domain_type() == type


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

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

Reply via email to