Liron Ar has uploaded a new change for review. Change subject: core: ReconstructMasterDomain - select random host ......................................................................
core: ReconstructMasterDomain - select random host when attempting to reconstruct, attempt to perform it through random host. Change-Id: If636850ba7d13b9a0be146059a9a964bb881abde Signed-off-by: Liron Aravot <lara...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java 2 files changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/81/13881/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java index 2885a10..1e28206 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/ReconstructMasterDomainCommand.java @@ -28,6 +28,8 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.VdcBllMessages; import org.ovirt.engine.core.dal.dbbroker.DbFacade; +import org.ovirt.engine.core.utils.linq.All; +import org.ovirt.engine.core.utils.linq.LinqUtils; import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil; import org.ovirt.engine.core.utils.transaction.TransactionMethod; @@ -62,7 +64,7 @@ } } - return InitializeVds(); + return InitializeVds(true); } @Override diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java index be0fe57..36fb6f1 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StorageHandlingCommandBase.java @@ -6,6 +6,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Random; import java.util.Set; import org.ovirt.engine.core.bll.CommandBase; @@ -85,14 +86,25 @@ return ret; } - @SuppressWarnings({ "unchecked", "rawtypes" }) protected boolean InitializeVds() { + return InitializeVds(false); + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + protected boolean InitializeVds(boolean random) { boolean returnValue = true; if (getVds() == null) { - VDS tempVar = - LinqUtils.firstOrNull(getVdsDAO().getAllForStoragePoolAndStatus(getStoragePool().getId(), - VDSStatus.Up), - new All()); + List<VDS> hosts = getVdsDAO().getAllForStoragePoolAndStatus(getStoragePool().getId(), + VDSStatus.Up); + VDS tempVar = null; + if (!random) { + tempVar = + LinqUtils.firstOrNull(hosts, new All()); + } else { + if (!hosts.isEmpty()) { + tempVar = hosts.get(new Random().nextInt(hosts.size())); + } + } setVds(tempVar); if (getVds() == null) { returnValue = false; -- To view, visit http://gerrit.ovirt.org/13881 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If636850ba7d13b9a0be146059a9a964bb881abde Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Ar <lara...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches