Deleted deprecated o.a.b.core.entity.lifecycle.QuorumCheck
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b1322495 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b1322495 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b1322495 Branch: refs/heads/master Commit: b1322495c762a9c43a3ba32d915e98512f0b4b71 Parents: 1ca4230 Author: Aled Sage <[email protected]> Authored: Wed Aug 19 18:43:38 2015 +0100 Committer: Aled Sage <[email protected]> Committed: Thu Aug 20 12:04:13 2015 +0100 ---------------------------------------------------------------------- .../core/entity/lifecycle/QuorumCheck.java | 108 ------------------- .../entity/group/DynamicClusterImpl.java | 2 +- .../core/test/entity/TestClusterImpl.java | 4 +- .../brooklyn/policy/ha/ServiceReplacerTest.java | 2 +- 4 files changed, 4 insertions(+), 112 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1322495/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/QuorumCheck.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/QuorumCheck.java b/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/QuorumCheck.java deleted file mode 100644 index 29f8deb..0000000 --- a/core/src/main/java/org/apache/brooklyn/core/entity/lifecycle/QuorumCheck.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.brooklyn.core.entity.lifecycle; - -import java.io.Serializable; - -/** - * For checking if a group/cluster is quorate. That is, whether the group has sufficient - * healthy members. - * @deprecated since 0.7.0 use {@link org.apache.brooklyn.util.collections.QuorumCheck}. - * but keep this for a while as old quorum checks might be persisted. - */ -@Deprecated -public interface QuorumCheck extends org.apache.brooklyn.util.collections.QuorumCheck { - - /** - * @param sizeHealthy Number of healthy members - * @param totalSize Total number of members one would expect to be healthy (i.e. ignoring stopped members) - * @return Whether this group is healthy - */ - public boolean isQuorate(int sizeHealthy, int totalSize); - - public static class QuorumChecks { - /** - * Checks that all members that should be up are up (i.e. ignores stopped nodes). - */ - public static QuorumCheck all() { - return new NumericQuorumCheck(0, 1.0, false); - } - /** - * Checks all members that should be up are up, and that there is at least one such member. - */ - public static QuorumCheck allAndAtLeastOne() { - return new NumericQuorumCheck(1, 1.0, false); - } - /** - * Requires at least one member that should be up is up. - */ - public static QuorumCheck atLeastOne() { - return new NumericQuorumCheck(1, 0.0, false); - } - /** - * Requires at least one member to be up if the total size is non-zero. - * i.e. okay if empty, or if non-empty and something is healthy, but not okay if not-empty and nothing is healthy. - * "Empty" means that no members are supposed to be up (e.g. there may be stopped members). - */ - public static QuorumCheck atLeastOneUnlessEmpty() { - return new NumericQuorumCheck(1, 0.0, true); - } - /** - * Always "healthy" - */ - public static QuorumCheck alwaysTrue() { - return new NumericQuorumCheck(0, 0.0, true); - } - public static QuorumCheck newInstance(int minRequiredSize, double minRequiredRatio, boolean allowEmpty) { - return new NumericQuorumCheck(minRequiredSize, minRequiredRatio, allowEmpty); - } - } - - /** @deprecated since 0.7.0 use {@link org.apache.brooklyn.util.collections.QuorumCheck}. - * but keep this until we have a transition defined. - */ - @Deprecated - public static class NumericQuorumCheck implements QuorumCheck, Serializable { - private static final long serialVersionUID = -5090669237460159621L; - - protected final int minRequiredSize; - protected final double minRequiredRatio; - protected final boolean allowEmpty; - - public NumericQuorumCheck(int minRequiredSize, double minRequiredRatio, boolean allowEmpty) { - this.minRequiredSize = minRequiredSize; - this.minRequiredRatio = minRequiredRatio; - this.allowEmpty = allowEmpty; - } - - @Override - public boolean isQuorate(int sizeHealthy, int totalSize) { - if (allowEmpty && totalSize==0) return true; - if (sizeHealthy < minRequiredSize) return false; - if (sizeHealthy < totalSize*minRequiredRatio-0.000000001) return false; - return true; - } - - @Override - public String toString() { - return "QuorumCheck[require="+minRequiredSize+","+((int)100*minRequiredRatio)+"%"+(allowEmpty ? "|0" : "")+"]"; - } - } - -} http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1322495/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java index b330675..e335fd0 100644 --- a/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java +++ b/core/src/main/java/org/apache/brooklyn/entity/group/DynamicClusterImpl.java @@ -45,7 +45,6 @@ import org.apache.brooklyn.core.entity.factory.EntityFactory; import org.apache.brooklyn.core.entity.factory.EntityFactoryForLocation; import org.apache.brooklyn.core.entity.lifecycle.Lifecycle; import org.apache.brooklyn.core.entity.lifecycle.ServiceStateLogic; -import org.apache.brooklyn.core.entity.lifecycle.QuorumCheck.QuorumChecks; import org.apache.brooklyn.core.entity.lifecycle.ServiceStateLogic.ServiceProblemsLogic; import org.apache.brooklyn.core.entity.trait.Startable; import org.apache.brooklyn.core.entity.trait.StartableMethods; @@ -56,6 +55,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.brooklyn.util.collections.MutableList; import org.apache.brooklyn.util.collections.MutableMap; +import org.apache.brooklyn.util.collections.QuorumCheck.QuorumChecks; import org.apache.brooklyn.util.core.flags.TypeCoercions; import org.apache.brooklyn.util.core.task.DynamicTasks; import org.apache.brooklyn.util.core.task.TaskTags; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1322495/core/src/test/java/org/apache/brooklyn/core/test/entity/TestClusterImpl.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/test/entity/TestClusterImpl.java b/core/src/test/java/org/apache/brooklyn/core/test/entity/TestClusterImpl.java index 0bc9e32..debe110 100644 --- a/core/src/test/java/org/apache/brooklyn/core/test/entity/TestClusterImpl.java +++ b/core/src/test/java/org/apache/brooklyn/core/test/entity/TestClusterImpl.java @@ -18,9 +18,9 @@ */ package org.apache.brooklyn.core.test.entity; -import org.apache.brooklyn.core.entity.lifecycle.QuorumCheck.QuorumChecks; import org.apache.brooklyn.core.entity.trait.Startable; import org.apache.brooklyn.entity.group.DynamicClusterImpl; +import org.apache.brooklyn.util.collections.QuorumCheck.QuorumChecks; /** * Mock cluster entity for testing. @@ -41,7 +41,7 @@ public class TestClusterImpl extends DynamicClusterImpl implements TestCluster { @Override protected void initEnrichers() { // say this is up if it has no children - setConfig(UP_QUORUM_CHECK, QuorumChecks.atLeastOneUnlessEmpty()); + config().set(UP_QUORUM_CHECK, QuorumChecks.atLeastOneUnlessEmpty()); super.initEnrichers(); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b1322495/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java ---------------------------------------------------------------------- diff --git a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java index d984b0e..ba08666 100644 --- a/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java +++ b/policy/src/test/java/org/apache/brooklyn/policy/ha/ServiceReplacerTest.java @@ -40,7 +40,6 @@ import org.apache.brooklyn.core.entity.Entities; import org.apache.brooklyn.core.entity.EntityInternal; import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.entity.lifecycle.Lifecycle; -import org.apache.brooklyn.core.entity.lifecycle.QuorumCheck; import org.apache.brooklyn.core.entity.lifecycle.ServiceStateLogic.ComputeServiceIndicatorsFromChildrenAndMembers; import org.apache.brooklyn.core.entity.trait.FailingEntity; import org.apache.brooklyn.core.location.SimulatedLocation; @@ -50,6 +49,7 @@ import org.apache.brooklyn.core.test.entity.TestEntity; import org.apache.brooklyn.entity.group.DynamicCluster; import org.apache.brooklyn.test.Asserts; import org.apache.brooklyn.test.EntityTestUtils; +import org.apache.brooklyn.util.collections.QuorumCheck; import org.apache.brooklyn.util.core.config.ConfigBag; import org.apache.brooklyn.util.javalang.JavaClassNames; import org.slf4j.Logger;
