diff --git a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/snapshot/DefaultSnapshotStrategy.java b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/snapshot/DefaultSnapshotStrategy.java index 219c2e820de..fba2674d79c 100644 --- a/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/snapshot/DefaultSnapshotStrategy.java +++ b/engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/snapshot/DefaultSnapshotStrategy.java @@ -267,6 +267,7 @@ public class DefaultSnapshotStrategy extends SnapshotStrategyBase { boolean deletedOnSecondary = false; if (snapshotOnImage == null) { s_logger.debug(String.format("Can't find snapshot [snapshot id: %d] on backup storage", snapshotId)); + snapshotDao.remove(snapshotId); } else { SnapshotObject obj = (SnapshotObject)snapshotOnImage; try { @@ -326,7 +327,6 @@ public class DefaultSnapshotStrategy extends SnapshotStrategyBase { if (isSnapshotOnPrimaryStorage(snapshotId) && snapshotSvr.deleteSnapshot(snapshotOnPrimaryInfo)) { snapshotOnPrimary.setState(State.Destroyed); snapshotStoreDao.update(snapshotOnPrimary.getId(), snapshotOnPrimary); - snapshotDao.remove(snapshotId); return true; } return false;