This is an automated email from the ASF dual-hosted git repository.
sureshanaparti pushed a commit to branch 4.19
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.19 by this push:
new 3134efb971d plugin-swift: handle null cache store (#11380)
3134efb971d is described below
commit 3134efb971da306bab87f2bee3686e308454c534
Author: Abhishek Kumar <[email protected]>
AuthorDate: Mon Aug 4 16:21:20 2025 +0530
plugin-swift: handle null cache store (#11380)
Fixes
https://github.com/apache/cloudstack/pull/11315#pullrequestreview-3074036751
Signed-off-by: Abhishek Kumar <[email protected]>
---
.../datastore/driver/SwiftImageStoreDriverImpl.java | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git
a/plugins/storage/image/swift/src/main/java/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java
b/plugins/storage/image/swift/src/main/java/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java
index 7e1486214bc..44f321f9543 100644
---
a/plugins/storage/image/swift/src/main/java/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java
+++
b/plugins/storage/image/swift/src/main/java/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java
@@ -24,11 +24,6 @@ import java.util.UUID;
import javax.inject.Inject;
-import com.cloud.configuration.Config;
-import com.cloud.utils.SwiftUtil;
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
-import org.apache.log4j.Logger;
-
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult;
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
@@ -38,18 +33,21 @@ import
org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector;
import org.apache.cloudstack.engine.subsystem.api.storage.StorageCacheManager;
import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher;
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.storage.command.DownloadCommand;
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
import org.apache.cloudstack.storage.image.BaseImageStoreDriverImpl;
import org.apache.cloudstack.storage.image.store.ImageStoreImpl;
import org.apache.cloudstack.storage.to.TemplateObjectTO;
+import org.apache.log4j.Logger;
import com.cloud.agent.api.storage.DownloadAnswer;
import com.cloud.agent.api.to.DataObjectType;
import com.cloud.agent.api.to.DataStoreTO;
import com.cloud.agent.api.to.SwiftTO;
+import com.cloud.configuration.Config;
import com.cloud.storage.Storage.ImageFormat;
-import com.cloud.template.VirtualMachineTemplate;
+import com.cloud.utils.SwiftUtil;
import com.cloud.utils.exception.CloudRuntimeException;
public class SwiftImageStoreDriverImpl extends BaseImageStoreDriverImpl {
@@ -101,8 +99,13 @@ public class SwiftImageStoreDriverImpl extends
BaseImageStoreDriverImpl {
@Override
public void createAsync(DataStore dataStore, DataObject data,
AsyncCompletionCallback<CreateCmdResult> callback) {
Long maxTemplateSizeInBytes = getMaxTemplateSizeInBytes();
- VirtualMachineTemplate tmpl = _templateDao.findById(data.getId());
DataStore cacheStore =
cacheManager.getCacheStorage(dataStore.getScope());
+ if (cacheStore == null) {
+ String errMsg = String.format("No cache store found for scope: %s",
+ dataStore.getScope().getScopeType().name());
+ s_logger.error(errMsg);
+ throw new CloudRuntimeException(errMsg);
+ }
DownloadCommand dcmd = new
DownloadCommand((TemplateObjectTO)(data.getTO()), maxTemplateSizeInBytes);
dcmd.setCacheStore(cacheStore.getTO());
dcmd.setProxy(getHttpProxy());