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
