Daniel Erez has uploaded a new change for review.

Change subject: core: ReplicateDisk - prevent rollback on engine restart
......................................................................

core: ReplicateDisk - prevent rollback on engine restart

VmReplicateDiskFinishTaskHandler:
Rollback should be prevented on VmReplicateDiskFinish success,
but we can't rely on the command's returnValue since
it's not persistent. Instead, to make sure rollback
is prevented on restart, set parameters' taskGroupSuccess to false
on VmReplicateDiskFinish failure and check its value on revertTask.

Change-Id: Ibd088940d6e3f7be79fb0381076499ea1c1d73c7
Bug-Url: https://bugzilla.redhat.com/958848
Signed-off-by: Daniel Erez <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
1 file changed, 2 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/41/14441/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
index 16d2031..f3924e4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/VmReplicateDiskFinishTaskHandler.java
@@ -58,6 +58,7 @@
                     ImageStatus.OK);
         }
         else {
+            getEnclosingCommand().getParameters().setTaskGroupSuccess(true);
             log.errorFormat("Failed VmReplicateDiskFinish (Disk {0} , VM {1})",
                     getEnclosingCommand().getParameters().getImageGroupID(),
                     getEnclosingCommand().getParameters().getVmId());
@@ -160,7 +161,7 @@
     @Override
     protected void revertTask() {
         // Preventing rollback on execution success
-        if (getEnclosingCommand().getReturnValue().getSucceeded()) {
+        if (getEnclosingCommand().getParameters().getTaskGroupSuccess()) {
             getEnclosingCommand().getParameters().setExecutionIndex(0);
         }
     }


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

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

Reply via email to