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

Reply via email to