From e0ba2a2fa69f4b76342d057931a5059d1ae64943 Mon Sep 17 00:00:00 2001 From: anthony Date: Tue, 12 Apr 2011 18:56:30 -0700 Subject: [PATCH] clean up transation code --- server/src/com/cloud/domain/dao/DomainDaoImpl.java | 7 +++---- server/src/com/cloud/network/NetworkManagerImpl.java | 1 - server/src/com/cloud/network/ovs/dao/OvsWorkDaoImpl.java | 6 ++---- .../network/security/dao/SecurityGroupWorkDaoImpl.java | 8 ++++---- server/src/com/cloud/storage/StorageManagerImpl.java | 2 -- 5 files changed, 9 insertions(+), 15 deletions(-) diff --git a/server/src/com/cloud/domain/dao/DomainDaoImpl.java b/server/src/com/cloud/domain/dao/DomainDaoImpl.java index 2323ba7fa7b..27c10bf2402 100644 --- a/server/src/com/cloud/domain/dao/DomainDaoImpl.java +++ b/server/src/com/cloud/domain/dao/DomainDaoImpl.java @@ -28,6 +28,7 @@ import javax.ejb.Local; import org.apache.log4j.Logger; import com.cloud.domain.DomainVO; +import com.cloud.utils.db.DB; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.GlobalLock; import com.cloud.utils.db.SearchBuilder; @@ -133,7 +134,8 @@ public class DomainDaoImpl extends GenericDaoBase implements Dom } } - @Override + @Override + @DB public boolean remove(Long id) { // check for any active users / domains assigned to the given domain id and don't remove the domain if there are any if (id != null && id.longValue() == DomainVO.ROOT_DOMAIN) { @@ -162,20 +164,17 @@ public class DomainDaoImpl extends GenericDaoBase implements Dom DomainVO parentDomain = super.lockRow(domain.getParent(), true); if(parentDomain == null) { s_logger.error("Unable to load parent domain: " + domain.getParent()); - txn.commit(); return false; } PreparedStatement stmt = txn.prepareAutoCloseStatement(sql); ResultSet rs = stmt.executeQuery(); if (rs.next()) { - txn.commit(); return false; } stmt = txn.prepareAutoCloseStatement(sql1); rs = stmt.executeQuery(); if (rs.next()) { - txn.commit(); return false; } diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index e05319d3049..7b25d0c66c4 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -817,7 +817,6 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag @DB public List setupNetwork(Account owner, NetworkOfferingVO offering, Network predefined, DeploymentPlan plan, String name, String displayText, boolean isShared, boolean isDefault, boolean errorIfAlreadySetup, Long domainId) throws ConcurrentOperationException { - Transaction.currentTxn(); Account locked = _accountDao.acquireInLockTable(owner.getId()); if (locked == null) { throw new ConcurrentOperationException("Unable to acquire lock on " + owner); diff --git a/server/src/com/cloud/network/ovs/dao/OvsWorkDaoImpl.java b/server/src/com/cloud/network/ovs/dao/OvsWorkDaoImpl.java index 4c0f572cda8..0c8796f008a 100644 --- a/server/src/com/cloud/network/ovs/dao/OvsWorkDaoImpl.java +++ b/server/src/com/cloud/network/ovs/dao/OvsWorkDaoImpl.java @@ -74,6 +74,7 @@ public class OvsWorkDaoImpl extends GenericDaoBase implements } @Override + @DB public OvsWorkVO take(long serverId) { final Transaction txn = Transaction.currentTxn(); try { @@ -85,7 +86,6 @@ public class OvsWorkDaoImpl extends GenericDaoBase implements txn.start(); final List vos = lockRows(sc, filter, true); if (vos.size() == 0) { - txn.commit(); return null; } OvsWorkVO work = null; @@ -97,7 +97,6 @@ public class OvsWorkDaoImpl extends GenericDaoBase implements } } if (work == null) { - txn.commit(); return null; } work.setServerId(serverId); @@ -128,7 +127,6 @@ public class OvsWorkDaoImpl extends GenericDaoBase implements final List vos = lockRows(sc, filter, true); if (vos.size() == 0) { - txn.commit(); return; } OvsWorkVO work = vos.get(0); @@ -147,13 +145,13 @@ public class OvsWorkDaoImpl extends GenericDaoBase implements } @Override + @DB public void updateStep(Long workId, Step step) { final Transaction txn = Transaction.currentTxn(); txn.start(); OvsWorkVO work = lockRow(workId, true); if (work == null) { - txn.commit(); return; } work.setStep(step); diff --git a/server/src/com/cloud/network/security/dao/SecurityGroupWorkDaoImpl.java b/server/src/com/cloud/network/security/dao/SecurityGroupWorkDaoImpl.java index ddb0ac1c7fd..afaa1e33759 100644 --- a/server/src/com/cloud/network/security/dao/SecurityGroupWorkDaoImpl.java +++ b/server/src/com/cloud/network/security/dao/SecurityGroupWorkDaoImpl.java @@ -26,6 +26,7 @@ import javax.ejb.Local; import com.cloud.ha.HaWorkVO; import com.cloud.network.security.SecurityGroupWorkVO; import com.cloud.network.security.SecurityGroupWorkVO.Step; +import com.cloud.utils.db.DB; import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; @@ -93,6 +94,7 @@ public class SecurityGroupWorkDaoImpl extends GenericDaoBase vos = lockRows(sc, filter, true); if (vos.size() == 0) { - txn.commit(); return null; } SecurityGroupWorkVO work = null; @@ -116,7 +117,6 @@ public class SecurityGroupWorkDaoImpl extends GenericDaoBase vos = lockRows(sc, filter, true); if (vos.size() == 0) { - txn.commit(); return; } SecurityGroupWorkVO work = vos.get(0); @@ -165,13 +165,13 @@ public class SecurityGroupWorkDaoImpl extends GenericDaoBase pendingWork = _storagePoolWorkDao.listPendingWorkForCancelMaintenanceByPoolId(primaryStorageId);