Sahina Bose has uploaded a new change for review.

Change subject: engine: Gluster syncing lock correction
......................................................................

engine: Gluster syncing lock correction

While removing and while server is in initializing
state, we need to make sure that it does not interfere
with the gluster sync job that updates servers in the
cluster

Change-Id: Ibe28b5eb5baee573f0fa875e06d7ae945ffdb9f9
Signed-off-by: Sahina Bose <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJob.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSyncJob.java
5 files changed, 22 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/47/20647/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java
index a475e9d..080486d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVdsCommand.java
@@ -570,7 +570,7 @@
     }
 
     @Override
-    protected Map<String, Pair<String, String>> getExclusiveLocks() {
+    protected Map<String, Pair<String, String>> getSharedLocks() {
         VDSGroup cluster = getVdsGroup();
         if (cluster != null && cluster.supportsGlusterService() && 
!isInternalExecution()) {
             return Collections.singletonMap(cluster.getId().toString(),
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
index f9435a9..22f098f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InitVdsOnUpCommand.java
@@ -35,11 +35,14 @@
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerInfo;
 import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
 import org.ovirt.engine.core.common.errors.VdcBLLException;
+import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.common.eventqueue.Event;
 import org.ovirt.engine.core.common.eventqueue.EventQueue;
 import org.ovirt.engine.core.common.eventqueue.EventResult;
 import org.ovirt.engine.core.common.eventqueue.EventType;
 import org.ovirt.engine.core.common.gluster.GlusterFeatureSupported;
+import org.ovirt.engine.core.common.locks.LockingGroup;
+import org.ovirt.engine.core.common.utils.Pair;
 import 
org.ovirt.engine.core.common.vdscommands.ConnectStoragePoolVDSCommandParameters;
 import org.ovirt.engine.core.common.vdscommands.MomPolicyVDSParameters;
 import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
@@ -69,6 +72,7 @@
  * After server initialized - its will be moved to Up status.
  */
 @NonTransactiveCommandAttribute
+@LockIdNameAttribute(isWait=true)
 public class InitVdsOnUpCommand extends 
StorageHandlingCommandBase<HostStoragePoolParametersBase> {
     private boolean fenceSucceeded = true;
     private boolean vdsProxyFound;
@@ -477,4 +481,14 @@
         }
     }
 
+    @Override
+    protected Map<String, Pair<String, String>> getSharedLocks() {
+        VDSGroup cluster = getVdsGroup();
+        if (cluster != null && cluster.supportsGlusterService() && 
!isInternalExecution()) {
+            return Collections.singletonMap(cluster.getId().toString(),
+                    
LockMessagesMatchUtil.makeLockingPair(LockingGroup.GLUSTER, 
VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_OPERATION_INPROGRESS));
+        }
+        return null;
+    }
+
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
index b13bd11..e097b20 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsCommand.java
@@ -233,4 +233,5 @@
 
         return locks;
     }
+
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJob.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJob.java
index e0eea23..f320ba6 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJob.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJob.java
@@ -157,7 +157,7 @@
      */
     private EngineLock getEngineLock(Guid clusterId) {
         return new EngineLock(Collections.singletonMap(clusterId.toString(),
-                LockMessagesMatchUtil.makeLockingPair(LockingGroup.GLUSTER, 
VdcBllMessages.ACTION_TYPE_FAILED_OBJECT_LOCKED)), null);
+                LockMessagesMatchUtil.makeLockingPair(LockingGroup.GLUSTER, 
VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_OPERATION_INPROGRESS)), null);
     }
 
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSyncJob.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSyncJob.java
index d871115..c7d3c0e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSyncJob.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterSyncJob.java
@@ -142,6 +142,8 @@
     }
 
     private void removeDetachedServers(List<VDS> existingServers, 
List<GlusterServerInfo> fetchedServers) {
+        log.debugFormat("Existing servers list returned {0} comparing with 
fetched servers {1)", existingServers, fetchedServers);
+
         boolean serverRemoved = false;
         for (VDS server : existingServers) {
             if (isRemovableStatus(server.getStatus()) && 
serverDetached(server, fetchedServers)) {
@@ -159,8 +161,9 @@
             }
         }
         if (serverRemoved) {
-            log.infoFormat("Servers detached using gluster CLI  is removed 
from engine after inspecting the Gluster servers list {0}",
-                    fetchedServers);
+            log.infoFormat("Servers detached using gluster CLI  is removed 
from engine after inspecting the Gluster servers list returned {0} "
+                    + "- comparing with db servers {1}",
+                    fetchedServers, existingServers);
         }
     }
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibe28b5eb5baee573f0fa875e06d7ae945ffdb9f9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Sahina Bose <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to