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
