Liran Zelkha has uploaded a new change for review. Change subject: engine: Make VDSPartial, a partially loaded VDS object ......................................................................
engine: Make VDSPartial, a partially loaded VDS object Since loading a full VDS object is time consuming, this patch introduces a VDSPartial object, that is much faster to load. Change-Id: Ie2401686d43daa6bcfb810b13aea6cc2570e5520 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=992883 Signed-off-by: [email protected] <[email protected]> --- A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSPartial.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java 4 files changed, 36 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/87/20587/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSPartial.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSPartial.java new file mode 100644 index 0000000..e19a506 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSPartial.java @@ -0,0 +1,7 @@ +package org.ovirt.engine.core.common.businessentities; + +public class VDSPartial extends VDS { + + private static final long serialVersionUID = -3143712074770629093L; + +} diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAO.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAO.java index 0098504..e595023 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAO.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAO.java @@ -3,6 +3,7 @@ import java.util.List; import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.VDSPartial; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.VDSType; import org.ovirt.engine.core.compat.Guid; @@ -209,4 +210,12 @@ * @return the list of VDS instances */ List<VDS> getHostsForStorageOperation(Guid storagePoolId, boolean localFsOnly); + + /** + * Retrieves the partial instance (static, dynamic, statistics) with the given id. + * @param id + * the id + * @return the PartialVDS instance + */ + VDSPartial getPartial(Guid vdsId); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java index e5d1662..4162c0a 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDAODbFacadeImpl.java @@ -8,6 +8,8 @@ import org.ovirt.engine.core.common.businessentities.NonOperationalReason; import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.VDSGroup; +import org.ovirt.engine.core.common.businessentities.VDSPartial; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.VDSType; import org.ovirt.engine.core.common.businessentities.VdsSpmStatus; @@ -15,6 +17,7 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.compat.RpmVersion; import org.ovirt.engine.core.compat.Version; +import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils; import org.ovirt.engine.core.utils.serialization.json.JsonObjectDeserializer; import org.springframework.jdbc.core.RowMapper; @@ -342,4 +345,19 @@ return entity; } } + + @Override + public VDSPartial getPartial(Guid vdsId) { + VDSPartial vdsPartial = new VDSPartial(); + + vdsPartial.setDynamicData(DbFacade.getInstance().getVdsDynamicDao().get(vdsId)); + vdsPartial.setStaticData(DbFacade.getInstance().getVdsStaticDao().get(vdsId)); + vdsPartial.setStatisticsData(DbFacade.getInstance().getVdsStatisticsDao().get(vdsId)); + VDSGroup group = DbFacade.getInstance().getVdsGroupDao().get(vdsPartial.getVdsGroupId()); + vdsPartial.setVdsGroupCompatibilityVersion(group.getcompatibility_version()); + vdsPartial.setVdsGroupCpuName(group.getcpu_name()); + vdsPartial.setVdsGroupDescription(group.getdescription()); + vdsPartial.setVdsGroupName(group.getName()); + return vdsPartial; + } } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java index c14b395..1ed8060 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java @@ -218,7 +218,8 @@ ArrayList<VDSDomainsData> domainsList = null; synchronized (getLockObj()) { - _vds = DbFacade.getInstance().getVdsDao().get(getVdsId()); + // _vds = DbFacade.getInstance().getVdsDao().get(getVdsId()); + _vds = DbFacade.getInstance().getVdsDao().getPartial(getVdsId()); if (_vds == null) { log.errorFormat("VdsManager::refreshVdsRunTimeInfo - OnTimer is NULL for {0}", getVdsId()); -- To view, visit http://gerrit.ovirt.org/20587 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie2401686d43daa6bcfb810b13aea6cc2570e5520 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liran Zelkha <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
