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
