Arik Hadas has uploaded a new change for review. Change subject: core: change how async tasks are persisted using TaskHandlerCommand ......................................................................
core: change how async tasks are persisted using TaskHandlerCommand Add a way to specify the taskKey of the to-be-persisted task, by introducing new method that gets the key as a String. The previous way that was exist for adding async tasks by the TaskHandlerCommand send the action-type of the enclosing command as the parent command. this behaviour is now being generalized - the enclosing command itself will determine whether it should be the parent or other by override the persist* methods in TaskHandlerCommand interface. Change-Id: Iee869f68724e67e256e7342f3a5201b7e6d3a30c Signed-off-by: Arik Hadas <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java 7 files changed, 29 insertions(+), 15 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/16398/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java index 1745b20..7fe62a4 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AbstractSPMAsyncTaskHandler.java @@ -36,7 +36,7 @@ if (getEnclosingCommand().getParameters().getTaskGroupSuccess()) { getReturnValue().setSucceeded(false); beforeTask(); - Guid taskId = getEnclosingCommand().persistAsyncTaskPlaceHolder(getEnclosingCommand().getActionType()); + Guid taskId = getEnclosingCommand().persistAsyncTaskPlaceHolder(); addTask(taskId, Backend.getInstance().getResourceManager() .RunVdsCommand(getVDSCommandType(), getVDSParameters()), false); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java index 712f0dc..b56b1e1 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java @@ -572,4 +572,12 @@ public ArrayList<Guid> getTaskIdList() { return super.getTaskIdList(); } + + public Guid persistAsyncTaskPlaceHolder() { + return super.persistAsyncTaskPlaceHolder(getActionType()); + } + + public Guid persistAsyncTaskPlaceHolder(String taskKey) { + return super.persistAsyncTaskPlaceHolder(getActionType(), taskKey); + } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java index a36cdd1..3e06b1e 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmCommand.java @@ -46,8 +46,8 @@ public abstract class VmCommand<T extends VmOperationParameterBase> extends CommandBase<T> { - private static final String DELETE_PRIMARY_IMAGE_TASK_KEY = "DELETE_PRIMARY_IMAGE_TASK_KEY"; - private static final String DELETE_SECONDARY_IMAGES_TASK_KEY = "DELETE_SECONDARY_IMAGES_TASK_KEY"; + public static final String DELETE_PRIMARY_IMAGE_TASK_KEY = "DELETE_PRIMARY_IMAGE_TASK_KEY"; + public static final String DELETE_SECONDARY_IMAGES_TASK_KEY = "DELETE_SECONDARY_IMAGES_TASK_KEY"; private static final int Kb = 1024; protected final static int MAX_NETWORK_INTERFACES_SUPPORTED = 8; private OsRepository osRepository = SimpleDependecyInjector.getInstance().get(OsRepository.class); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java index 53ed7cb..a83e96f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateDiskCommand.java @@ -76,11 +76,6 @@ } @Override - public Guid persistAsyncTaskPlaceHolder(VdcActionType parentCommand) { - return super.persistAsyncTaskPlaceHolder(parentCommand); - } - - @Override public Guid createTask(Guid taskId, AsyncTaskCreationInfo asyncTaskCreationInfo, VdcActionType parentCommand, @@ -104,6 +99,14 @@ return super.getTaskIdList(); } + public Guid persistAsyncTaskPlaceHolder() { + return super.persistAsyncTaskPlaceHolder(getActionType()); + } + + public Guid persistAsyncTaskPlaceHolder(String taskKey) { + return super.persistAsyncTaskPlaceHolder(getActionType(), taskKey); + } + @Override protected void endSuccessfully() { super.endSuccessfully(); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java index fd709c8..6c3582a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java @@ -81,9 +81,12 @@ return super.createTask(taskId, asyncTaskCreationInfo, parentCommand, entityType, entityIds); } - @Override - public Guid persistAsyncTaskPlaceHolder(VdcActionType parentCommand) { - return super.persistAsyncTaskPlaceHolder(parentCommand); + public Guid persistAsyncTaskPlaceHolder() { + return super.persistAsyncTaskPlaceHolder(getActionType()); + } + + public Guid persistAsyncTaskPlaceHolder(String taskKey) { + return super.persistAsyncTaskPlaceHolder(getActionType(), taskKey); } @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java index b172a04..5aedb53 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/memory/LiveSnapshotMemoryImageBuilder.java @@ -71,7 +71,7 @@ "Failed to create image for vm configuration!"); } - Guid taskId = enclosingCommand.persistAsyncTaskPlaceHolder(enclosingCommand.getActionType(), CREATE_IMAGE_FOR_VM_TASK_KEY); + Guid taskId = enclosingCommand.persistAsyncTaskPlaceHolder(CREATE_IMAGE_FOR_VM_TASK_KEY); Guid guid = enclosingCommand.createTask( taskId, retVal.getCreationInfo(), @@ -102,7 +102,7 @@ "Failed to create image for memory!"); } - Guid taskId = enclosingCommand.persistAsyncTaskPlaceHolder(enclosingCommand.getActionType(), CREATE_IMAGE_FOR_MEMORY_DUMP_TASK_KEY); + Guid taskId = enclosingCommand.persistAsyncTaskPlaceHolder(CREATE_IMAGE_FOR_MEMORY_DUMP_TASK_KEY); Guid guid = enclosingCommand.createTask(taskId, retVal.getCreationInfo(), diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java index 8dfae9b..918a741 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/TaskHandlerCommand.java @@ -34,9 +34,9 @@ AsyncTaskCreationInfo asyncTaskCreationInfo, VdcActionType parentCommand); - Guid persistAsyncTaskPlaceHolder(VdcActionType parentCommand); + Guid persistAsyncTaskPlaceHolder(); - Guid persistAsyncTaskPlaceHolder(VdcActionType actionType, String key); + Guid persistAsyncTaskPlaceHolder(String taskKey); Guid getAsyncTaskId(String key); -- To view, visit http://gerrit.ovirt.org/16398 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iee869f68724e67e256e7342f3a5201b7e6d3a30c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
