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
