GabrielBrascher commented on a change in pull request #3969: Snapshot deletion issues URL: https://github.com/apache/cloudstack/pull/3969#discussion_r393297087
########## File path: engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/snapshot/DefaultSnapshotStrategy.java ########## @@ -269,63 +262,87 @@ public boolean deleteSnapshot(Long snapshotId) { throw new InvalidParameterValueException("Can't delete snapshotshot " + snapshotId + " due to it is in " + snapshotVO.getState() + " Status"); } - // first mark the snapshot as destroyed, so that ui can't see it, but we - // may not destroy the snapshot on the storage, as other snapshots may - // depend on it. SnapshotInfo snapshotOnImage = snapshotDataFactory.getSnapshot(snapshotId, DataStoreRole.Image); - if (snapshotOnImage == null) { - s_logger.debug("Can't find snapshot on backup storage, delete it in db"); - snapshotDao.remove(snapshotId); - return true; - } - - SnapshotObject obj = (SnapshotObject)snapshotOnImage; - try { - obj.processEvent(Snapshot.Event.DestroyRequested); - List<VolumeDetailVO> volumesFromSnapshot; - volumesFromSnapshot = _volumeDetailsDaoImpl.findDetails("SNAPSHOT_ID", String.valueOf(snapshotId), null); - if (volumesFromSnapshot.size() > 0) { - try { - obj.processEvent(Snapshot.Event.OperationFailed); - } catch (NoTransitionException e1) { - s_logger.debug("Failed to change snapshot state: " + e1.toString()); + boolean deletedOnSecondary = false; + if (snapshotOnImage == null) { + s_logger.debug(String.format("Can't find snapshot [snapshot id: %d] on backup storage", snapshotId)); + } else { + SnapshotObject obj = (SnapshotObject)snapshotOnImage; + try { + deletedOnSecondary = deleteSnapshotOnSecundaryStorage(snapshotId, snapshotOnImage, obj); Review comment: going to fix the "secundary" typo ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services