Greg Padgett has uploaded a new change for review.

Change subject: core: Converge after DestroyImageCommand failure
......................................................................

core: Converge after DestroyImageCommand failure

If DestroyImageCommand failed, the command would not converge, causing
snapshots to remain locked and users unable to retry live merge to
clean up the resulting state.

This was caused by some endAction interactions between the SPM-style
DestroyImage command and its parent RemoveSnapshotSingleDiskLive which
is driven by CoCo.

Change-Id: Icbbcc30fa035de82de05c5c60ce224ed36aee831
Bug-Url: https://bugzilla.redhat.com/1213157
Signed-off-by: Greg Padgett <gpadg...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java
1 file changed, 4 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/28/40228/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java
index ab3f2cd..3b1d80e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotSingleDiskLiveCommand.java
@@ -432,7 +432,11 @@
 
     @Override
     protected void endWithFailure() {
+        // This redirection to DestroyImageCommand.endWithFailure() is 
necessary
+        // because of the way in which SPMAsyncTasks and CoCo commands 
interact.
         if (getParameters().getCommandStep() == 
RemoveSnapshotSingleDiskLiveStep.DESTROY_IMAGE) {
+            // Manually restrict retry upon failure, else the command may not 
converge.
+            getReturnValue().setEndActionTryAgain(false);
             Guid currentChildId = getParameters().getChildCommands().get(
                     getParameters().getCommandStep());
             if (!Guid.isNullOrEmpty(currentChildId)) {


-- 
To view, visit https://gerrit.ovirt.org/40228
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icbbcc30fa035de82de05c5c60ce224ed36aee831
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Greg Padgett <gpadg...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to