Switch back to CLOUD_DB after purging usage records (#9367)

This commit is contained in:
Vishesh 2024-07-14 14:58:36 +05:30 committed by GitHub
parent beebeed5e2
commit 22ef08154d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -28,6 +28,7 @@ import com.cloud.utils.db.QueryBuilder;
import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.Transaction; import com.cloud.utils.db.Transaction;
import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionCallback;
import com.cloud.utils.db.TransactionCallbackNoReturn;
import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.db.TransactionLegacy;
import com.cloud.utils.db.TransactionStatus; import com.cloud.utils.db.TransactionStatus;
import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.exception.CloudRuntimeException;
@ -469,12 +470,14 @@ public class UsageDaoImpl extends GenericDaoBase<UsageVO, Long> implements Usage
@Override @Override
public void removeOldUsageRecords(int days) { public void removeOldUsageRecords(int days) {
String sql = DELETE_ALL_BY_INTERVAL; Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallbackNoReturn() {
TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.USAGE_DB); @Override
public void doInTransactionWithoutResult(TransactionStatus status) {
TransactionLegacy txn = TransactionLegacy.currentTxn();
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
try { try {
txn.start(); txn.start();
pstmt = txn.prepareAutoCloseStatement(sql); pstmt = txn.prepareAutoCloseStatement(DELETE_ALL_BY_INTERVAL);
pstmt.setLong(1, days); pstmt.setLong(1, days);
pstmt.executeUpdate(); pstmt.executeUpdate();
txn.commit(); txn.commit();
@ -485,6 +488,8 @@ public class UsageDaoImpl extends GenericDaoBase<UsageVO, Long> implements Usage
txn.close(); txn.close();
} }
} }
});
}
public UsageVO persistUsage(final UsageVO usage) { public UsageVO persistUsage(final UsageVO usage) {
return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<UsageVO>() { return Transaction.execute(TransactionLegacy.USAGE_DB, new TransactionCallback<UsageVO>() {