Michael Kublin has uploaded a new change for review.

Change subject: core: Removing TransactiveAttribute and appropriate logic
......................................................................

core: Removing TransactiveAttribute and appropriate logic

The following attribute was used in order to perform a rollback at case
of failure inside Vds commands.
The following approach was used only at one command AddNetworkVDSCommand 
correctly
and was used incorrect at IrsCreateCommand and ConnectStorageServerVDSCommand.
Also, we should not perform a rollback inside of vds command , a rollback 
should be
done from BL commands or any other BL manager.
Also, the Vds commands should be run outside scope of transaction, it is mean 
that
the transactional rollback is not relevant for them.

Change-Id: I12638ee4c27d8548fc5e1a3212ec4541507fd023
Signed-off-by: Michael Kublin <[email protected]>
---
D 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/TransactiveAttribute.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcCommandBase.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsCreateCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/AddNetworkVDSCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/ConnectStorageServerVDSCommand.java
5 files changed, 7 insertions(+), 68 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/89/8189/1

diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/TransactiveAttribute.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/TransactiveAttribute.java
deleted file mode 100644
index 430456b..0000000
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/TransactiveAttribute.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.ovirt.engine.core.dal;
-
-import java.lang.annotation.*;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-public @interface TransactiveAttribute {
-}
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcCommandBase.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcCommandBase.java
index 1bbb943..f556a6f 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcCommandBase.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcCommandBase.java
@@ -5,18 +5,9 @@
 import org.ovirt.engine.core.utils.log.Logged;
 import org.ovirt.engine.core.utils.log.Logged.LogLevel;
 import org.ovirt.engine.core.utils.log.LoggedUtils;
-import org.ovirt.engine.core.utils.transaction.RollbackHandler;
-import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
 @Logged(errorLevel = LogLevel.WARN)
-public abstract class VdcCommandBase implements RollbackHandler {
-
-    private boolean getTransactive() {
-        // Object[] attributes = new Object[] {}; //FIXED
-        // getClass().GetCustomAttributes(TransactiveAttribute.class, true);
-        TransactiveAttribute annotation = 
getClass().getAnnotation(TransactiveAttribute.class);
-        return annotation != null;
-    }
+public abstract class VdcCommandBase {
 
     protected String getCommandName() {
         return getClass().getSimpleName().replace("Command", "");
@@ -32,10 +23,6 @@
     public void Execute() {
         String logId = LoggedUtils.getObjectId(this);
         LoggedUtils.logEntry(log, logId, this);
-
-        if (getTransactive() && TransactionSupport.current() != null) {
-            TransactionSupport.registerRollbackHandler(this);
-        }
 
         try {
             ExecuteCommand();
@@ -59,11 +46,6 @@
     public Object ExecuteWithReturnValue() {
         Execute();
         return getReturnValue();
-    }
-
-    @Override
-    public void rollback() {
-        log.errorFormat("Command {1} Rollbacked", getCommandName());
     }
 
     protected Log log = LogFactory.getLog(getClass());
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsCreateCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsCreateCommand.java
index 29a50fa..84450f2 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsCreateCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsCreateCommand.java
@@ -18,27 +18,6 @@
         return uuidReturn;
     }
 
-    protected void BaseRollback() {
-        super.rollback();
-    }
-
-    @Override
-    public void rollback() {
-        try {
-            // todo - omer sending false for postZero, check that is correct
-            // always (and not parameter from user)
-            
getIrsProxy().deleteVolume(getParameters().getStorageDomainId().toString(),
-                                       
getParameters().getStoragePoolId().toString(),
-                                       
getParameters().getImageGroupId().toString(),
-                                       new String[] { mCreatedImageId },
-                                       "false",
-                                       "false");
-        } catch (java.lang.Exception e) {
-        }
-
-        BaseRollback();
-    }
-
     public IrsCreateCommand(P parameters) {
         super(parameters);
     }
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/AddNetworkVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/AddNetworkVDSCommand.java
index a5cb34a..777967f 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/AddNetworkVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/AddNetworkVDSCommand.java
@@ -7,18 +7,21 @@
 import org.ovirt.engine.core.common.businessentities.Network;
 import org.ovirt.engine.core.common.errors.VdcBllErrors;
 import 
org.ovirt.engine.core.common.vdscommands.NetworkVdsmVDSCommandParameters;
-import org.ovirt.engine.core.dal.TransactiveAttribute;
 import org.ovirt.engine.core.utils.log.Log;
 import org.ovirt.engine.core.utils.log.LogFactory;
+import org.ovirt.engine.core.utils.transaction.RollbackHandler;
+import org.ovirt.engine.core.utils.transaction.TransactionSupport;
 
-@TransactiveAttribute
-public class AddNetworkVDSCommand<P extends NetworkVdsmVDSCommandParameters> 
extends VdsBrokerCommand<P> {
+public class AddNetworkVDSCommand<P extends NetworkVdsmVDSCommandParameters> 
extends VdsBrokerCommand<P> implements RollbackHandler {
     public AddNetworkVDSCommand(P parameters) {
         super(parameters);
     }
 
     @Override
     protected void ExecuteVdsBrokerCommand() {
+        if (TransactionSupport.current() != null) {
+            TransactionSupport.registerRollbackHandler(this);
+        }
         String networkName = (getParameters().getNetworkName() == null) ? "" : 
getParameters()
                 .getNetworkName();
         String vlanId = (getParameters().getVlanId() != null) ? 
getParameters().getVlanId().toString()
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/ConnectStorageServerVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/ConnectStorageServerVDSCommand.java
index eeae5ea..d16289a 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/ConnectStorageServerVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/ConnectStorageServerVDSCommand.java
@@ -9,12 +9,8 @@
 import org.ovirt.engine.core.common.config.Config;
 import org.ovirt.engine.core.common.config.ConfigValues;
 import 
org.ovirt.engine.core.common.vdscommands.ConnectStorageServerVDSCommandParameters;
-import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
-import org.ovirt.engine.core.utils.log.Log;
-import org.ovirt.engine.core.utils.log.LogFactory;
-import org.ovirt.engine.core.vdsbroker.ResourceManager;
 
 public class ConnectStorageServerVDSCommand<P extends 
ConnectStorageServerVDSCommandParameters>
         extends VdsBrokerCommand<P> {
@@ -30,16 +26,6 @@
                 getParameters().getStoragePoolId().toString(), 
BuildStructFromConnectionListObject());
         ProceedProxyReturnValue();
         setReturnValue(_result.convertToStatusList());
-    }
-
-    @Override
-    public void rollback() {
-        try {
-            
ResourceManager.getInstance().runVdsCommand(VDSCommandType.DisconnectStorageServer,
-                    getParameters());
-        } catch (RuntimeException ex) {
-            log.error("Exception in Rollback ExecuteVdsBrokerCommand", ex);
-        }
     }
 
     @SuppressWarnings("unchecked")
@@ -106,6 +92,4 @@
     protected Object getReturnValueFromBroker() {
         return _result;
     }
-
-    private final static Log log = 
LogFactory.getLog(ConnectStorageServerVDSCommand.class);
 }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I12638ee4c27d8548fc5e1a3212ec4541507fd023
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