@Test public void testAll() { QuorumCheck q = QuorumChecks.all(); Assert.assertTrue(q.isQuorate(2, 2)); Assert.assertFalse(q.isQuorate(1, 2)); Assert.assertTrue(q.isQuorate(0, 0)); }
public static final EnricherSpec<?> newEnricherForServiceUp(Boolean fromChildren, Boolean fromMembers) { EnricherSpec<?> serviceUp = EnricherSpec.create(ComputeServiceIndicatorsFromChildrenAndMembers.class) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.FROM_CHILDREN, fromChildren) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.FROM_MEMBERS, fromMembers) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.SUPPRESS_DUPLICATES, Boolean.TRUE) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.RUNNING_QUORUM_CHECK, QuorumChecks.all()) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.IGNORE_ENTITIES_WITH_THESE_SERVICE_STATES, ImmutableSet.of(Lifecycle.STOPPING, Lifecycle.STOPPED, Lifecycle.DESTROYED)); return serviceUp; }
enrichers().add(ServiceStateLogic.newEnricherFromChildrenState() .suppressDuplicates(true) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.RUNNING_QUORUM_CHECK, QuorumCheck.QuorumChecks.all())); if (Boolean.TRUE.equals(propagate)) { if (sensors.isEmpty()) {
enrichers().add(ServiceStateLogic.newEnricherFromChildrenState() .suppressDuplicates(true) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.RUNNING_QUORUM_CHECK, QuorumCheck.QuorumChecks.all())); if (Boolean.TRUE.equals(propagate)) { if (sensors.isEmpty()) {
/** * Returns a predicate for a collection which is true if * all elements in the collection given to the predicate * which satisfies the predicate given here. * <p> * This will return true for the empty set. * To require additionally that there is at least one * use {@link #quorum(QuorumCheck, Predicate)} with * {@link QuorumChecks#allAndAtLeastOne()}. */ public static <T,TT extends Iterable<T>> Predicate<TT> all(Predicate<T> attributeSatisfies) { return quorum(QuorumChecks.all(), attributeSatisfies); }
@Override protected void initEnrichers() { super.initEnrichers(); // all children must be up, for ourselves to be up enrichers().add(ServiceStateLogic.newEnricherFromChildrenUp() .checkChildrenOnly() .requireUpChildren(QuorumCheck.QuorumChecks.all())); }
@Override protected void initEnrichers() { super.initEnrichers(); // Because can have multiple children (similar to groups/clusters/apps), need to // monitor their health and indicate this has failed if any of them have failed. enrichers().add(ServiceStateLogic.newEnricherFromChildren() .suppressDuplicates(true) .configure(ComputeServiceIndicatorsFromChildrenAndMembers.UP_QUORUM_CHECK, QuorumCheck.QuorumChecks.all())); }
@Override protected void initEnrichers() { super.initEnrichers(); enrichers().add(ServiceStateLogic.newEnricherFromChildrenUp() .checkChildrenOnly() .requireUpChildren(QuorumCheck.QuorumChecks.all()) .suppressDuplicates(true)); }