Liran Zelkha has uploaded a new change for review.

Change subject: engine : Eliminate duplicate VdsDynamic updates
......................................................................

engine : Eliminate duplicate VdsDynamic updates

Eliminate duplicate vdsDynamic updates, which just cause excessive database 
activity.

Change-Id: I7889b426b7c46cd688ce70bf217eab69663e2dda
Signed-off-by: [email protected] <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java
1 file changed, 17 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/22/19522/1

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 e82257a..65886f6 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
@@ -104,11 +104,10 @@
             .<Integer> 
GetValue(ConfigValues.TimeToReduceFailedRunOnVdsInMinutes);
     private String duringFailureJobId;
     private boolean privateInitialized;
-    private volatile VDS fullVds = null;
+    private VDS fullVds = null;
     private Guid storagePoolId = null;
-    // Partial VDS is a VDS that only contains VDSStatic, VDSDynamic and 
VDSStatistics objects - so it's much faster to
-    // load from the database
-    private volatile VDS partialVds;
+    // Partial VDS is a VDS that only contains VDSStatic, VDSDynamic and 
VDSStatistics objects - so it's much faster to load from the database
+    private VDS partialVds;
 
 
     public boolean getInitialized() {
@@ -219,7 +218,7 @@
 
     private VdsUpdateRunTimeInfo _vdsUpdater;
     private final VdsMonitor vdsMonitor = new VdsMonitor();
-    private volatile VDSGroup vdsGroup;
+    private VDSGroup vdsGroup;
     private Version version;
 
     @OnTimerMethodAnnotation("OnTimer")
@@ -397,7 +396,12 @@
      * @param dynamicData
      */
     public void UpdateDynamicData(VdsDynamic dynamicData) {
-        DbFacade.getInstance().getVdsDynamicDao().update(dynamicData);
+        if (!dynamicData.equals(vdsDynamic)) {
+            DbFacade.getInstance().getVdsDynamicDao().update(dynamicData);
+        } else {
+            log.debug("Ignoring an unneccessary update on vdsDynamic " + 
vdsStatic.getName());
+        }
+
     }
 
     /**
@@ -778,10 +782,10 @@
         if (fullVds == null) {
             synchronized (this) {
                 if (fullVds == null) {
-                    fullVds = 
DbFacade.getInstance().getVdsDao().get(vdsStatic.getId());
+                fullVds = 
DbFacade.getInstance().getVdsDao().get(vdsStatic.getId());
                 }
             }
-
+            
         }
 
         return fullVds;
@@ -794,7 +798,7 @@
                     vdsGroup = 
DbFacade.getInstance().getVdsGroupDao().get(vdsStatic.getVdsGroupId());
                 }
             }
-
+            
         }
 
         return vdsGroup;
@@ -816,14 +820,10 @@
 
     public VDS getPartialVds() {
         if (partialVds == null) {
-            synchronized (this) {
-                if (partialVds == null) {
-                    partialVds = new VDS();
-                    partialVds.setStaticData(vdsStatic);
-                    partialVds.setDynamicData(vdsDynamic);
-                    partialVds.setStatisticsData(vdsStatistics);
-                }
-            }
+            partialVds = new VDS();
+            partialVds.setStaticData(vdsStatic);
+            partialVds.setDynamicData(vdsDynamic);
+            partialVds.setStatisticsData(vdsStatistics);
         }
 
         return partialVds;


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7889b426b7c46cd688ce70bf217eab69663e2dda
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