DaanHoogland commented on a change in pull request #5382:
URL: https://github.com/apache/cloudstack/pull/5382#discussion_r697347340



##########
File path: server/src/main/java/com/cloud/storage/StorageManagerImpl.java
##########
@@ -1834,6 +1836,43 @@ public void syncDatastoreClusterStoragePool(long 
datastoreClusterPoolId, List<Mo
         handleRemoveChildStoragePoolFromDatastoreCluster(childDatastoreUUIDs);
     }
 
+    /**
+     * fixed mismatching between db uuids and and custom
+     * attribute uuids
+     *
+     * To different formats of uuids exists
+     * 1. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+     * 2. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+     * @param uuid of existing pool
+     * @return existing pull or null otherwise
+     */
+    private StoragePoolVO getExistingPoolByUuid(String uuid){
+        StoragePoolVO storagePool = _storagePoolDao.findByUuid(uuid);
+        if(storagePool != null){
+            return storagePool;
+        }
+
+        //this case is unlikely (DB uuid without separators), but safety first
+        if(uuid.contains("-")){
+            uuid = uuid.replaceAll("-", "");
+            storagePool = _storagePoolDao.findByUuid(uuid);
+            if(storagePool != null){
+                storagePool.setUuid(uuid);

Review comment:
       You are setting a uuid on a VO but not persisting it. Then you return it 
for use in the system. I don't think this is the right way to go. You have the 
right object, why change it?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to