[
https://issues.apache.org/jira/browse/CLOUDSTACK-9560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15896951#comment-15896951
]
ASF GitHub Bot commented on CLOUDSTACK-9560:
--------------------------------------------
Github user ustcweizhou commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1726#discussion_r104370668
--- Diff: server/src/com/cloud/storage/StorageManagerImpl.java ---
@@ -2263,27 +2264,43 @@ public void cleanupDownloadUrls(){
// Cleanup expired volume URLs
List<VolumeDataStoreVO> volumesOnImageStoreList =
_volumeStoreDao.listVolumeDownloadUrls();
+ HashSet<Long> expiredVolumeIds = new HashSet<Long>();
+ HashSet<Long> activeVolumeIds = new HashSet<Long>();
for(VolumeDataStoreVO volumeOnImageStore :
volumesOnImageStoreList){
+ long volumeId = volumeOnImageStore.getVolumeId();
try {
long downloadUrlCurrentAgeInSecs =
DateUtil.getTimeDifference(DateUtil.now(),
volumeOnImageStore.getExtractUrlCreated());
if(downloadUrlCurrentAgeInSecs <
_downloadUrlExpirationInterval){ // URL hasnt expired yet
+ activeVolumeIds.add(volumeId);
continue;
}
-
- s_logger.debug("Removing download url " +
volumeOnImageStore.getExtractUrl() + " for volume id " +
volumeOnImageStore.getVolumeId());
+ expiredVolumeIds.add(volumeId);
+ s_logger.debug("Removing download url " +
volumeOnImageStore.getExtractUrl() + " for volume id " + volumeId);
// Remove it from image store
ImageStoreEntity secStore = (ImageStoreEntity)
_dataStoreMgr.getDataStore(volumeOnImageStore.getDataStoreId(),
DataStoreRole.Image);
secStore.deleteExtractUrl(volumeOnImageStore.getInstallPath(),
volumeOnImageStore.getExtractUrl(), Upload.Type.VOLUME);
+ _snapshotStoreDao.findByVolume(volumeId,
DataStoreRole.Image);
--- End diff --
what's the proposal of line 2285 to line 2287 ?
> Root volume of deleted VM left unremoved
> ----------------------------------------
>
> Key: CLOUDSTACK-9560
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9560
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Volumes
> Affects Versions: 4.8.0
> Environment: XenServer
> Reporter: subhash yedugundla
> Fix For: 4.8.1
>
>
> In the following scenario root volume gets unremoved
> Steps to reproduce the issue
> 1. Create a VM.
> 2. Stop this VM.
> 3. On the page of the volume of the VM, click 'Download Volume' icon.
> 4. Wait for the popup screen to display and cancel out with/without clicking
> the download link.
> 5. Destroy the VM
> Even after the corresponding VM is deleted,expunged, the root-volume is left
> in 'Expunging' state unremoved.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)