Michael Kublin has posted comments on this change. Change subject: core: use local TX in AddVm flow ......................................................................
Patch Set 2: (4 inline comments) .................................................... File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndAttachToPoolCommand.java Line 31: tempVar.setSessionId(getParameters().getSessionId()); Line 32: tempVar.setDontAttachToDefaultTag(true); Line 33: returnValueFromAddVm = Line 34: Backend.getInstance().runInternalAction(VdcActionType.AddVmFromScratch, Line 35: tempVar, I don't think, a new context should be created inside AddVmFromScratch command, if a command is failed a rollback will be performed inside, so nothing to do with compensation context inside AddVmAndAttachToPoolCommand Line 36: ExecutionHandler.createDefaultContexForTasks(getExecutionContext())); Line 37: } else { Line 38: VmManagementParametersBase tempVar2 = new VmManagementParametersBase(vmStatic); Line 39: tempVar2.setSessionId(getParameters().getSessionId()); Line 39: tempVar2.setSessionId(getParameters().getSessionId()); Line 40: tempVar2.setDontCheckTemplateImages(true); Line 41: tempVar2.setDontAttachToDefaultTag(true); Line 42: tempVar2.setDiskInfoDestinationMap(diskInfoDestinationMap); Line 43: returnValueFromAddVm = same here Line 44: Backend.getInstance().runInternalAction(VdcActionType.AddVm, Line 45: tempVar2, Line 46: ExecutionHandler.createDefaultContexForTasks(getExecutionContext())); Line 47: } Line 50: if (vmAddedSuccessfully) { Line 51: getTaskIdList().addAll(returnValueFromAddVm.getInternalTaskIdList()); Line 52: AddVmToPoolParameters tempVar3 = new AddVmToPoolParameters(getParameters().getPoolId(), Line 53: vmStatic.getId()); Line 54: tempVar3.setShouldBeLogged(false); AddVmToPool can not failed, it is a simple db update , maybe we don't need such command at all Line 55: setSucceeded(Backend.getInstance().runInternalAction(VdcActionType.AddVmToPool, tempVar3).getSucceeded()); Line 56: addVmPermission(); Line 57: } Line 58: } .................................................... File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java Line 499: copyVmDevices(); Line 500: addDiskPermissions(newDiskImages); Line 501: addVmPayload(); Line 502: updateSmartCardDevices(); Line 503: setActionReturnValue(getVm().getId()); I don't think, images were created, task send to vdsm, db is updated. Success or failure depend on AsyncTaskManager Line 504: setSucceeded(true); Line 505: return null; Line 506: } Line 507: }); -- To view, visit http://gerrit.ovirt.org/13805 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: If93240cca8bee4988f28c3de574b44c9db31e8f9 Gerrit-PatchSet: 2 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Roy Golan <rgo...@redhat.com> Gerrit-Reviewer: Daniel Erez <de...@redhat.com> Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com> Gerrit-Reviewer: Liron Ar <lara...@redhat.com> Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com> Gerrit-Reviewer: Michael Kublin <mkub...@redhat.com> Gerrit-Reviewer: Omer Frenkel <ofren...@redhat.com> Gerrit-Reviewer: Roy Golan <rgo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches