Federico Simoncelli has uploaded a new change for review.

Change subject: core: early domain check in electNewMaster
......................................................................

core: early domain check in electNewMaster

This patch improves the readability of electNewMaster.

Change-Id: Iaf651cf670cffa2aea1443ee33153421785534a4
Signed-off-by: Federico Simoncelli <fsimo...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
1 file changed, 24 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/28229/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
index 321d550..aedef3f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageDomainCommandBase.java
@@ -346,28 +346,32 @@
             return null;
         }
 
-        StorageDomain newMaster = null;
-
         List<StorageDomain> storageDomains = 
getStorageDomainDAO().getAllForStoragePool(getStoragePool().getId());
         Collections.sort(storageDomains, LastTimeUsedAsMasterComp.instance);
-        if (storageDomains.size() > 0) {
-            StorageDomain storageDomain = getStorageDomain();
-            for (StorageDomain dbStorageDomain : storageDomains) {
-                if ((storageDomain == null || (duringReconstruct || 
!dbStorageDomain.getId()
-                        .equals(storageDomain.getId())))
-                        && ((dbStorageDomain.getStorageDomainType() == 
StorageDomainType.Data)
-                        ||
-                        (canChooseCurrentMasterAsNewMaster && 
dbStorageDomain.getStorageDomainType() == StorageDomainType.Master))) {
-                    if (dbStorageDomain.getStatus() == 
StorageDomainStatus.Active
-                            || dbStorageDomain.getStatus() == 
StorageDomainStatus.Unknown) {
-                        newMaster = dbStorageDomain;
-                        break;
-                    } else if (selectInactiveWhenNoActiveUnknownDomains && 
newMaster == null
-                            && dbStorageDomain.getStatus() == 
StorageDomainStatus.Inactive) {
-                        // if the found domain is inactive, we don't break to 
continue and look for
-                        // active/unknown domain.
-                        newMaster = dbStorageDomain;
-                    }
+
+        if (storageDomains.isEmpty()) {
+            log.warnFormat("Cannot elect new master: storage domains not 
found");
+            return null;
+        }
+
+        StorageDomain newMaster = null;
+        StorageDomain storageDomain = getStorageDomain();
+
+        for (StorageDomain dbStorageDomain : storageDomains) {
+            if ((storageDomain == null || (duringReconstruct || 
!dbStorageDomain.getId()
+                    .equals(storageDomain.getId())))
+                    && ((dbStorageDomain.getStorageDomainType() == 
StorageDomainType.Data)
+                    ||
+                    (canChooseCurrentMasterAsNewMaster && 
dbStorageDomain.getStorageDomainType() == StorageDomainType.Master))) {
+                if (dbStorageDomain.getStatus() == StorageDomainStatus.Active
+                        || dbStorageDomain.getStatus() == 
StorageDomainStatus.Unknown) {
+                    newMaster = dbStorageDomain;
+                    break;
+                } else if (selectInactiveWhenNoActiveUnknownDomains && 
newMaster == null
+                        && dbStorageDomain.getStatus() == 
StorageDomainStatus.Inactive) {
+                    // if the found domain is inactive, we don't break to 
continue and look for
+                    // active/unknown domain.
+                    newMaster = dbStorageDomain;
                 }
             }
         }


-- 
To view, visit http://gerrit.ovirt.org/28229
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaf651cf670cffa2aea1443ee33153421785534a4
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to