Yair Zaslavsky has uploaded a new change for review. Change subject: core: ExportRepoImage should be non transactive and support compensation ......................................................................
core: ExportRepoImage should be non transactive and support compensation Change-Id: I43a223abdf4bfab6a8a65a74e4efea3af03f706c Signed-off-by: Yair Zaslavsky <yzasl...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportRepoImageCommand.java 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/13/35413/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportRepoImageCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportRepoImageCommand.java index 6c3d7cc..2b49902 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportRepoImageCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportRepoImageCommand.java @@ -29,6 +29,8 @@ import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dao.DiskDao; +import org.ovirt.engine.core.utils.transaction.TransactionMethod; +import org.ovirt.engine.core.utils.transaction.TransactionSupport; import java.util.Arrays; import java.util.ArrayList; @@ -37,6 +39,7 @@ import java.util.Map; @SuppressWarnings("unused") +@NonTransactiveCommandAttribute(forceCompensation = true) public class ExportRepoImageCommand<T extends ExportRepoImageParameters> extends CommandBase<T> { private DiskImage diskImage; @@ -96,10 +99,19 @@ @Override protected void executeCommand() { - DiskImage diskImage = getDiskImage(); + final DiskImage diskImage = getDiskImage(); OpenStackImageProviderProxy proxy = getProviderProxy(); - acquireImageDbLock(); + TransactionSupport.executeInNewTransaction(new TransactionMethod<Void>() { + + @Override + public Void runInTransaction() { + getCompensationContext().snapshotEntityStatus(diskImage, diskImage.getStatus()); + acquireImageDbLock(); + getCompensationContext().stateChanged(); + return null; + } + }); String newImageId = proxy.createImageFromDiskImage(diskImage); getParameters().setParentCommand(VdcActionType.ExportRepoImage); -- To view, visit http://gerrit.ovirt.org/35413 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I43a223abdf4bfab6a8a65a74e4efea3af03f706c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yair Zaslavsky <yzasl...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches