mirror of https://github.com/apache/cloudstack.git
Fixed assertion error related with transaction usage in StatsCollector and AlertManagerImpl
This commit is contained in:
parent
74d91c5b3a
commit
acabd549a6
|
|
@ -66,6 +66,7 @@ import com.cloud.storage.dao.VolumeDao;
|
|||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.component.ComponentLocator;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
|
|
@ -325,7 +326,7 @@ public class AlertManagerImpl implements AlertManager {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Override @DB
|
||||
public void recalculateCapacity() {
|
||||
// FIXME: the right way to do this is to register a listener (see RouterStatsListener, VMSyncListener)
|
||||
// for the vm sync state. The listener model has connects/disconnects to keep things in sync much better
|
||||
|
|
@ -460,7 +461,6 @@ public class AlertManagerImpl implements AlertManager {
|
|||
s_logger.trace("Done with capacity update");
|
||||
}
|
||||
txn.commit();
|
||||
s_logger.trace("");
|
||||
} catch (Exception ex) {
|
||||
txn.rollback();
|
||||
s_logger.error("Unable to start transaction for capacity update");
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ import com.cloud.storage.dao.VolumeDao;
|
|||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.component.ComponentLocator;
|
||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
|
|
@ -254,7 +255,8 @@ public class StatsCollector {
|
|||
return _VmStats.get(id);
|
||||
}
|
||||
|
||||
class StorageCollector implements Runnable {
|
||||
class StorageCollector implements Runnable {
|
||||
@DB
|
||||
public void run() {
|
||||
try {
|
||||
SearchCriteria sc = _hostDao.createSearchCriteria();
|
||||
|
|
@ -347,11 +349,11 @@ public class StatsCollector {
|
|||
txn.start();
|
||||
_capacityDao.clearStorageCapacities();
|
||||
|
||||
for (CapacityVO newCapacity : newCapacities) {
|
||||
s_logger.trace("Executing capacity update");
|
||||
_capacityDao.persist(newCapacity);
|
||||
s_logger.trace("Done with capacity update");
|
||||
}
|
||||
for (CapacityVO newCapacity : newCapacities) {
|
||||
s_logger.trace("Executing capacity update");
|
||||
_capacityDao.persist(newCapacity);
|
||||
s_logger.trace("Done with capacity update");
|
||||
}
|
||||
txn.commit();
|
||||
} catch (Exception ex) {
|
||||
txn.rollback();
|
||||
|
|
|
|||
Loading…
Reference in New Issue