From dd39393400e6b58968ab5a0fe74618df608f01ca Mon Sep 17 00:00:00 2001 From: Daman Arora Date: Wed, 14 Jan 2026 14:12:31 -0500 Subject: [PATCH] Skip null or missing URLs for S3 --- .../secondarystorage/SecondaryStorageManagerImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java index 5698632249d..66aab2a39c8 100644 --- a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -1247,6 +1247,10 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar protected void addSecondaryStorageServerAddressToBuffer(StringBuilder buffer, List dataStores, String vmName) { List addresses = new ArrayList<>(); for (DataStore dataStore: dataStores) { + // S3 and other object stores may not have a URL, so better to skip them + if (dataStore == null || dataStore.getTO() == null || dataStore.getTO().getUrl() == null) { + continue; + } String url = dataStore.getTO().getUrl(); String[] urlArray = url.split("/");