This is an automated email from the ASF dual-hosted git repository.

rafael pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/master by this push:
     new 35e008d  CLOUDSTACK-10223 Snapshots are not getting deleted when 
domain is deleted (#2399)
35e008d is described below

commit 35e008df6c551b2a0de3e7b175c738b4342eae31
Author: SowjanyaPatha <[email protected]>
AuthorDate: Sun Aug 12 18:47:03 2018 +0530

    CLOUDSTACK-10223 Snapshots are not getting deleted when domain is deleted 
(#2399)
---
 engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java   | 2 ++
 .../schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java  | 7 +++++++
 .../main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java  | 2 +-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java 
b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java
index eb5e41a..51d46a0 100644
--- a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java
+++ b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDao.java
@@ -34,6 +34,8 @@ public interface VolumeDao extends GenericDao<VolumeVO, 
Long>, StateDao<Volume.S
 
     List<VolumeVO> findByAccount(long accountId);
 
+    List<VolumeVO> findIncludingRemovedByAccount(long accountId);
+
     Pair<Long, Long> getCountAndTotalByPool(long poolId);
 
     Pair<Long, Long> getNonDestroyedCountAndTotalByPool(long poolId);
diff --git 
a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java 
b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java
index 3c818e4..663a5f5 100644
--- a/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/storage/dao/VolumeDaoImpl.java
@@ -97,6 +97,13 @@ public class VolumeDaoImpl extends GenericDaoBase<VolumeVO, 
Long> implements Vol
     }
 
     @Override
+    public List<VolumeVO> findIncludingRemovedByAccount(long accountId) {
+        SearchCriteria<VolumeVO> sc = AllFieldsSearch.create();
+        sc.setParameters("accountId", accountId);
+        return listIncludingRemovedBy(sc);
+    }
+
+    @Override
     public List<VolumeVO> findByInstance(long id) {
         SearchCriteria<VolumeVO> sc = AllFieldsSearch.create();
         sc.setParameters("instanceId", id);
diff --git 
a/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java 
b/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java
index bd49c05..f1adf0a 100755
--- a/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java
+++ b/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java
@@ -715,7 +715,7 @@ public class SnapshotManagerImpl extends 
MutualExclusiveIdsManagerBase implement
     @Override
     public boolean deleteSnapshotDirsForAccount(long accountId) {
 
-        List<VolumeVO> volumes = _volsDao.findByAccount(accountId);
+        List<VolumeVO> volumes = 
_volsDao.findIncludingRemovedByAccount(accountId);
         // The above call will list only non-destroyed volumes.
         // So call this method before marking the volumes as destroyed.
         // i.e Call them before the VMs for those volumes are destroyed.

Reply via email to