From 0eee9e8138092ed10ce298e763092367b7f9edd5 Mon Sep 17 00:00:00 2001 From: Rajani Karuturi Date: Fri, 16 Jan 2015 12:22:35 +0530 Subject: [PATCH] volume upload: removed the transition from IN-PROGRESS to ABONDONED incase of timeout it moved to error state. ABONDONED state is only when the user hasnt initiated the post request in the specified time --- .../src/com/cloud/storage/ImageStoreUploadMonitorImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/storage/ImageStoreUploadMonitorImpl.java b/server/src/com/cloud/storage/ImageStoreUploadMonitorImpl.java index d7deca3ee92..422b58cd30a 100755 --- a/server/src/com/cloud/storage/ImageStoreUploadMonitorImpl.java +++ b/server/src/com/cloud/storage/ImageStoreUploadMonitorImpl.java @@ -90,6 +90,7 @@ public class ImageStoreUploadMonitorImpl extends ManagerBase implements ImageSto @Override public boolean configure(String name, Map params) throws ConfigurationException { _executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("Upload-Monitor")); + //TODO: use config variable _monitoringInterval = 60; _uploadOperationTimeout = 10 * 60 * 1000; // 10 minutes _nodeId = ManagementServerNode.getManagementServerId(); @@ -208,7 +209,7 @@ public class ImageStoreUploadMonitorImpl extends ManagerBase implements ImageSto if (tmpVolumeDataStore.getDownloadState() == VMTemplateStorageResourceAssoc.Status.NOT_UPLOADED || tmpVolumeDataStore.getDownloadState() == VMTemplateStorageResourceAssoc.Status.UPLOAD_IN_PROGRESS) { if (System.currentTimeMillis() - tmpVolumeDataStore.getCreated().getTime() > _uploadOperationTimeout) { - tmpVolumeDataStore.setDownloadState(VMTemplateStorageResourceAssoc.Status.ABANDONED); + tmpVolumeDataStore.setDownloadState(VMTemplateStorageResourceAssoc.Status.DOWNLOAD_ERROR); stateMachine.transitTo(tmpVolume, Event.OperationTimeout, null, _volumeDao); if (s_logger.isDebugEnabled()) { s_logger.debug("Volume " + tmpVolume.getUuid() + " failed to upload due to operation timed out"); @@ -225,8 +226,7 @@ public class ImageStoreUploadMonitorImpl extends ManagerBase implements ImageSto break; case UNKNOWN: // check for timeout - if (tmpVolumeDataStore.getDownloadState() == VMTemplateStorageResourceAssoc.Status.NOT_UPLOADED || - tmpVolumeDataStore.getDownloadState() == VMTemplateStorageResourceAssoc.Status.UPLOAD_IN_PROGRESS) { + if (tmpVolumeDataStore.getDownloadState() == VMTemplateStorageResourceAssoc.Status.NOT_UPLOADED) { if (System.currentTimeMillis() - tmpVolumeDataStore.getCreated().getTime() > _uploadOperationTimeout) { tmpVolumeDataStore.setDownloadState(VMTemplateStorageResourceAssoc.Status.ABANDONED); stateMachine.transitTo(tmpVolume, Event.OperationTimeout, null, _volumeDao);