Liran Zelkha has uploaded a new change for review.

Change subject: engine: Force VdsDynamic update on status change
......................................................................

engine: Force VdsDynamic update on status change

There's a bug that if Vds status is changed, it is not updated in the database 
(cause by eliminiating
unneeded VdsDynamic changes). This patch fixes this bug.

Change-Id: I8814330970f467cc1c5170975efe192628ad365f
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, 5 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/71/21171/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 341127c..e8fa8f6 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
@@ -96,6 +96,7 @@
     private final AtomicInteger mFailedToRunVmAttempts;
     private final AtomicInteger mUnrespondedAttempts;
     private final AtomicBoolean sshSoftFencingExecuted;
+    private boolean forceDynamicChange = false;
 
     private static final int VDS_DURING_FAILURE_TIMEOUT_IN_MINUTES = Config
             .<Integer> 
GetValue(ConfigValues.TimeToReduceFailedRunOnVdsInMinutes);
@@ -370,12 +371,13 @@
      * @param dynamicData
      */
     public void UpdateDynamicData(VdsDynamic dynamicData) {
-        if (dynamicData != null && _vds != null && _vds.getDynamicData() != 
null
-                && !dynamicData.equals(_vds.getDynamicData())) {
+        if ((dynamicData != null && _vds != null && _vds.getDynamicData() != 
null
+                && !dynamicData.equals(_vds.getDynamicData())) || 
forceDynamicChange) {
             DbFacade.getInstance().getVdsDynamicDao().update(dynamicData);
         } else {
             log.debug("Ignoring unneeded update of VDSDynamic");
         }
+        forceDynamicChange = false;
     }
 
     /**
@@ -443,6 +445,7 @@
             // update to new status
             vds.setStatus(status);
             if (_vds != null) {
+                forceDynamicChange = true;
                 _vds.setStatus(status);
             }
 


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

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