Michael Kublin has uploaded a new change for review.

Change subject: engine: AsyncTaskManager - fix restart part 1 (Clean ups)
......................................................................

engine: AsyncTaskManager - fix restart part 1 (Clean ups)

The following patch contains a clean ups, the following code is not needed 
anymore
after introducing a fix.
Also at some classes like AddVmFromTemplateCommand we can see that child 
parameters are
added to list only after persist of the task to DB, so after a restart we will 
never have
a task which have a parent parameters with all list of child parameters (sic!)

Change-Id: I2c8c26b79df08a139c6bd19b28dd376ba69829ca
Signed-off-by: Michael Kublin <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndCloneImageCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.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/ExportVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/IEndedTaskVisitor.java
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/SetTaskGroupStatusVisitor.java
19 files changed, 1 insertion(+), 63 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/30/12130/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
index 8719237..f810e3d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
@@ -386,7 +386,6 @@
         parameters.setParentCommand(VdcActionType.AddDisk);
         parameters.setEntityId(getParameters().getEntityId());
         
parameters.setStoragePoolId(getStorageDomain().getstorage_pool_id().getValue());
-        getParameters().getImagesParameters().add(parameters);
         parameters.setParentParameters(getParameters());
         if (getVm() != null) {
             setVmSnapshotIdForDisk(parameters);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndCloneImageCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndCloneImageCommand.java
index 7d2430a..282d618 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndCloneImageCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmAndCloneImageCommand.java
@@ -162,7 +162,6 @@
     protected void handleCopyResult(DiskImage copiedDiskImage,
             VdcActionParametersBase parameters,
             VdcReturnValueBase result) {
-        getParameters().getImagesParameters().add(parameters);
         // If a copy cannot be made, abort
         if (!result.getSucceeded()) {
             throw new VdcBLLException(VdcBllErrors.VolumeCreationError);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
index a178d22..751e564 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmCommand.java
@@ -648,7 +648,6 @@
                         
getBackend().runInternalAction(VdcActionType.CreateSnapshotFromTemplate,
                                 tempVar,
                                 
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-                getParameters().getImagesParameters().add(tempVar);
 
                 /**
                  * if couldn't create snapshot then stop the transaction and 
the command
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java
index 9c4e96f..870ccf6 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromTemplateCommand.java
@@ -86,7 +86,6 @@
                                 VdcActionType.CreateCloneOfTemplate,
                                 p,
                                 
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-                getParameters().getImagesParameters().add(p);
 
                 /**
                  * if couldnt create snapshot then stop the transaction and 
the command
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
index 71b9419..a3bc7a5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
@@ -357,7 +357,6 @@
             
createParams.setQuotaId(getParameters().getDiskInfoDestinationMap().get(diskImage.getId()).getQuotaId()
 != null
                     ? 
getParameters().getDiskInfoDestinationMap().get(diskImage.getId()).getQuotaId() 
: null);
             }
-            getParameters().getImagesParameters().add(createParams);
             // The return value of this action is the 'copyImage' task GUID:
             VdcReturnValueBase retValue = 
Backend.getInstance().runInternalAction(
                     VdcActionType.CreateImageTemplate,
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 50741c5..169ac2f 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
@@ -135,7 +135,6 @@
 
                 VdcActionParametersBase parrentParamsForTask = 
getParametersForTask(parentCommand, getParameters());
                 p.setParentParameters(parrentParamsForTask);
-                getParameters().getImagesParameters().add(p);
 
                 VdcReturnValueBase vdcReturnValue = 
Backend.getInstance().runInternalAction(
                                 VdcActionType.CreateSnapshot,
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
index 8e2a771..ea2f8ac 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
@@ -305,7 +305,6 @@
             if (!vdcRetValue.getSucceeded()) {
                 throw new VdcBLLException(vdcRetValue.getFault().getError(), 
"Failed during ExportVmCommand");
             }
-            getParameters().getImagesParameters().add(p);
 
             
getReturnValue().getTaskIdList().addAll(vdcRetValue.getInternalTaskIdList());
         }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmTemplateCommand.java
index 83c1757..b2e5937 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmTemplateCommand.java
@@ -63,7 +63,6 @@
                                     VdcActionType.MoveOrCopyImageGroup,
                                     p,
                                     
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-                    getParameters().getImagesParameters().add(p);
 
                     if (!vdcRetValue.getSucceeded()) {
                         throw new 
VdcBLLException(vdcRetValue.getFault().getError(), vdcRetValue.getFault()
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 40efa66..cadd508 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
@@ -620,7 +620,6 @@
                 throw new VdcBLLException(vdcRetValue.getFault().getError(),
                         "ImportVmCommand::MoveOrCopyAllImageGroups: Failed to 
copy disk!");
             }
-            getParameters().getImagesParameters().add(p);
 
             
getReturnValue().getTaskIdList().addAll(vdcRetValue.getInternalTaskIdList());
             i++;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
index b575197..51091ae 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
@@ -309,7 +309,6 @@
                                 : new VdcBLLException(VdcBllErrors.ENGINE));
                     }
 
-                    getParameters().getImagesParameters().add(p);
                     
getReturnValue().getTaskIdList().addAll(vdcRetValue.getInternalTaskIdList());
                     i++;
                 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java
index 500db23..51abb8c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveOrCopyTemplateCommand.java
@@ -182,7 +182,6 @@
                             VdcActionType.MoveOrCopyImageGroup,
                             p,
                             
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-                    getParameters().getImagesParameters().add(p);
 
                     
getReturnValue().getTaskIdList().addAll(vdcRetValue.getInternalTaskIdList());
                 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
index 7ba2c35..0f29ddc 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
@@ -293,7 +293,6 @@
             // Setting lock to null because the lock is released in the child 
command (RemoveImage)
             setLock(null);
             if (vdcReturnValue.getSucceeded()) {
-                getParameters().getImagesParameters().add(p);
                 
getReturnValue().getTaskIdList().addAll(vdcReturnValue.getInternalTaskIdList());
                 setSucceeded(vdcReturnValue.getSucceeded());
             }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
index 97776bd..e811d40 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
@@ -124,7 +124,6 @@
                     VdcActionType.RemoveSnapshotSingleDisk,
                     p,
                     
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-            getParameters().getImagesParameters().add(p);
 
             if (vdcReturnValue != null && 
vdcReturnValue.getInternalTaskIdList() != null) {
                 
getReturnValue().getTaskIdList().addAll(vdcReturnValue.getInternalTaskIdList());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
index 28a832a..e742b79 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
@@ -173,7 +173,6 @@
                 taskType,
                 params,
                 
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-        getParameters().getImagesParameters().add(params);
         getTaskIdList().addAll(returnValue.getInternalTaskIdList());
         return returnValue;
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
index ed4a898..a2e02db 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RunVmCommand.java
@@ -346,7 +346,6 @@
             setSucceeded(vdcReturnValue.getSucceeded());
 
             if (vdcReturnValue.getSucceeded()) {
-                
getParameters().getImagesParameters().add(createAllSnapshotsFromVmParameters);
 
                 
getReturnValue().getTaskIdList().addAll(vdcReturnValue.getInternalTaskIdList());
                 // save RunVmParams so we'll know how to run
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
index de7073b..1a0c5ce 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
@@ -162,7 +162,6 @@
                                 
Backend.getInstance().runInternalAction(VdcActionType.TryBackToSnapshot,
                                         p,
                                         
ExecutionHandler.createDefaultContexForTasks(getExecutionContext()));
-                        getParameters().getImagesParameters().add(p);
 
                         if (vdcReturnValue.getSucceeded()) {
                             
getTaskIdList().addAll(vdcReturnValue.getInternalTaskIdList());
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
index e34f02c..5ef03b8 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
@@ -5,8 +5,6 @@
 import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 
-import org.ovirt.engine.core.common.asynctasks.EndedTaskInfo;
-import org.ovirt.engine.core.common.asynctasks.IEndedTaskVisitor;
 import 
org.ovirt.engine.core.common.businessentities.BusinessEntitiesDefinitions;
 import org.ovirt.engine.core.common.interfaces.IVdcUser;
 import org.ovirt.engine.core.common.utils.ValidationUtils;
@@ -43,7 +41,7 @@
 
     private Object entityId;
 
-    private ArrayList<VdcActionParametersBase> imagesParameters;
+    private transient ArrayList<VdcActionParametersBase> imagesParameters;
 
     private boolean taskGroupSuccess = true;
 
@@ -185,20 +183,6 @@
     public void setTaskGroupSuccess(boolean value) {
         taskGroupSuccess = value;
     }
-
-    public boolean Accept(EndedTaskInfo taskInfo, IEndedTaskVisitor visitor) {
-        boolean retVal = visitor.Visit(taskInfo, this);
-        if (!retVal) {
-            for (VdcActionParametersBase parameters : getImagesParameters()) {
-                retVal = parameters.Accept(taskInfo, visitor);
-                if (retVal) {
-                    break;
-                }
-            }
-        }
-        return retVal;
-    }
-
 
     public Object getEntityId() {
         return entityId;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/IEndedTaskVisitor.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/IEndedTaskVisitor.java
deleted file mode 100644
index 16184a0..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/IEndedTaskVisitor.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.ovirt.engine.core.common.asynctasks;
-
-import org.ovirt.engine.core.common.action.*;
-
-public interface IEndedTaskVisitor {
-    boolean Visit(EndedTaskInfo taskInfo, VdcActionParametersBase parameters);
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/SetTaskGroupStatusVisitor.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/SetTaskGroupStatusVisitor.java
deleted file mode 100644
index f096db8..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/SetTaskGroupStatusVisitor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.ovirt.engine.core.common.asynctasks;
-
-import org.ovirt.engine.core.common.action.VdcActionParametersBase;
-
-public class SetTaskGroupStatusVisitor implements IEndedTaskVisitor {
-
-    /**
-     * Set the task success by the task status, but only when the command id 
parameters correspond with the task command
-     * id.
-     *
-     * @param taskInfo
-     *            Task info containing command ID & success indication.
-     * @param parameters
-     *            Command parameters to set success for.
-     */
-    public boolean Visit(EndedTaskInfo taskInfo, VdcActionParametersBase 
parameters) {
-        if 
(parameters.getCommandId().equals(taskInfo.getTaskParameters().getDbAsyncTask().getCommandId()))
 {
-            
parameters.setTaskGroupSuccess(taskInfo.getTaskStatus().getTaskEndedSuccessfully());
-        }
-
-        return false;
-    }
-}


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

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

Reply via email to