Yair Zaslavsky has uploaded a new change for review.

Change subject: core: Adding exclusive lock (by name) to ImportVmCommand
......................................................................

core: Adding exclusive lock (by name) to ImportVmCommand

In order to solve the above bug, an exclusive lock by name
is acquired. The lock is removed after a vm is added to the DB.

Change-Id: I298f7f277a2000537f0edcdd0fcfd8aedd8037d1
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=907132
signed-off-by: Yair Zaslavsky <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
1 file changed, 10 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/15/11815/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
index fed6a86..dfc9619 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
@@ -52,6 +52,7 @@
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
 import org.ovirt.engine.core.common.errors.VdcBLLException;
+import org.ovirt.engine.core.common.locks.LockingGroup;
 import 
org.ovirt.engine.core.common.queries.GetAllFromExportDomainQueryParameters;
 import 
org.ovirt.engine.core.common.queries.GetStorageDomainsByVmTemplateIdQueryParameters;
 import org.ovirt.engine.core.common.queries.IsVmWithSameNameExistParameters;
@@ -79,6 +80,7 @@
 
 @DisableInPrepareMode
 @NonTransactiveCommandAttribute(forceCompensation = true)
+@LockIdNameAttribute
 public class ImportVmCommand extends 
MoveOrCopyTemplateCommand<ImportVmParameters>
         implements QuotaStorageDependent {
     private static final long serialVersionUID = -5500615685812075744L;
@@ -106,6 +108,14 @@
         ensureDomainMap(imageList, getParameters().getDestDomainId());
     }
 
+    @Override
+    protected Map<String, String> getExclusiveLocks() {
+        if (!StringUtils.isBlank(getParameters().getVm().getVmName())) {
+            return 
Collections.singletonMap(getParameters().getVm().getVmName(), 
LockingGroup.VM_NAME.name());
+        }
+        return null;
+    }
+
     protected ImportVmCommand(Guid commandId) {
         super(commandId);
     }


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

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

Reply via email to