From ff70ef797caac3cdaa71bb82c360c6b8f2ab83b9 Mon Sep 17 00:00:00 2001 From: Min Chen Date: Fri, 19 Dec 2014 16:48:45 -0800 Subject: [PATCH] CLOUDSTACK-8101: volume sync not working as expected - MS restart during upload volume leaves volume in hung state. (cherry picked from commit e559b15b6a166e2eb5f9b044338295fe8c9d219d) Signed-off-by: Rohit Yadav Conflicts: engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java --- .../apache/cloudstack/storage/volume/VolumeServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java index 88f098c642e..1dd2a86aaa3 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java @@ -1383,7 +1383,8 @@ public class VolumeServiceImpl implements VolumeService { return; } - List dbVolumes = _volumeStoreDao.listUploadedVolumesByStoreId(storeId); + // find all the db volumes including those with NULL url column to avoid accidentally deleting volumes on image store later. + List dbVolumes = _volumeStoreDao.listByStoreId(storeId); List toBeDownloaded = new ArrayList(dbVolumes); for (VolumeDataStoreVO volumeStore : dbVolumes) { VolumeVO volume = volDao.findById(volumeStore.getVolumeId());