From eef76c27684d184f820a5161d7f1be75ffaeca0f Mon Sep 17 00:00:00 2001 From: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com> Date: Wed, 27 Aug 2025 10:27:00 +0530 Subject: [PATCH] fix removeUsage for backups --- .../main/java/com/cloud/usage/dao/UsageBackupDaoImpl.java | 2 +- .../org/apache/cloudstack/backup/BackupManagerImpl.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/usage/dao/UsageBackupDaoImpl.java b/engine/schema/src/main/java/com/cloud/usage/dao/UsageBackupDaoImpl.java index e5b46b02a591..3f852b0cfb5a 100644 --- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageBackupDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageBackupDaoImpl.java @@ -68,7 +68,7 @@ public void removeUsage(Long accountId, Long vmId, Long backupOfferingId, Date e pstmt.setString(1, DateUtil.getDateDisplayString(TimeZone.getTimeZone("GMT"), eventDate)); pstmt.setLong(2, accountId); pstmt.setLong(3, vmId); - pstmt.setLong(3, backupOfferingId); + pstmt.setLong(4, backupOfferingId); pstmt.executeUpdate(); } } catch (SQLException e) { diff --git a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java index 2682d53dd200..d55871a94ddb 100644 --- a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java @@ -1903,7 +1903,11 @@ private void updateBackupUsageRecords(final BackupProvider backupProvider, DataC for (final VirtualMachine vm : vms) { Map> backupOfferingToSizeMap = new HashMap<>(); - for (final Backup backup: backupDao.listByVmId(null, vm.getId())) { + List backups = backupDao.listByVmId(null, vm.getId()); + if (backups.isEmpty() && vm.getBackupOfferingId() != null) { + backupOfferingToSizeMap.put(vm.getBackupOfferingId(), new Pair<>(0L, 0L)); + } + for (final Backup backup: backups) { Long backupSize = 0L; Long backupProtectedSize = 0L; if (Objects.nonNull(backup.getSize())) {