@Override public double getRenewalPercentThreshold() { return configInstance.getDoubleProperty( namespace + "renewalPercentThreshold", 0.85).get(); }
@Override public double getRetryableClientQuarantineRefreshPercentage() { return configInstance.getDoubleProperty(namespace + QUARANTINE_REFRESH_PERCENTAGE_KEY, Values.QUARANTINE_REFRESH_PERCENTAGE).get(); }
@Override public double getDoubleProperty(String propertyName, double defaultValue) { return propertyFactoryInstance().getDoubleProperty(propertyName, defaultValue).get(); }
@Override public Double getValue() { return get(); } }
@Override public Double getValue() { return get(); } }
@Override public double getRenewalPercentThreshold() { return configInstance.getDoubleProperty( namespace + "renewalPercentThreshold", 0.85).get(); }
@Override public double getRetryableClientQuarantineRefreshPercentage() { return configInstance.getDoubleProperty(namespace + QUARANTINE_REFRESH_PERCENTAGE_KEY, Values.QUARANTINE_REFRESH_PERCENTAGE).get(); }
@Override public double getBatcherMaxDelay(String batcherName) { return CONFIGURATION.getDoubleProperty( batcherName + "." + "batch.maxDelay", Double.valueOf(this.getPropertyValue(batcherName + ".waitTimeinMillis", "0.5"))).get(); }
@Override public double getDoubleProperty(String propertyName, double defaultValue) { return propertyFactoryInstance().getDoubleProperty(propertyName, defaultValue).get(); }
public static Double getDouble(String property) { final DynamicDoubleProperty doubleProperty = DynamicPropertyFactory.getInstance().getDoubleProperty(property, 0.0); return doubleProperty.get(); }
public double getDoubleProperty(Configs config) { return propertyFactory.getDoubleProperty(config.getName(), config.<Double>getDefaultValue()).get(); }
private boolean shouldEnableZoneAffinity(List<T> filtered) { if (!zoneAffinity && !zoneExclusive) { return false; } if (zoneExclusive) { return true; } LoadBalancerStats stats = getLoadBalancerStats(); if (stats == null) { return zoneAffinity; } else { logger.debug("Determining if zone affinity should be enabled with given server list: {}", filtered); ZoneSnapshot snapshot = stats.getZoneSnapshot(filtered); double loadPerServer = snapshot.getLoadPerServer(); int instanceCount = snapshot.getInstanceCount(); int circuitBreakerTrippedCount = snapshot.getCircuitTrippedCount(); if (((double) circuitBreakerTrippedCount) / instanceCount >= blackOutServerPercentageThreshold.get() || loadPerServer >= activeReqeustsPerServerThreshold.get() || (instanceCount - circuitBreakerTrippedCount) < availableServersThreshold.get()) { logger.debug("zoneAffinity is overriden. blackOutServerPercentage: {}, activeReqeustsPerServer: {}, availableServers: {}", new Object[] {(double) circuitBreakerTrippedCount / instanceCount, loadPerServer, instanceCount - circuitBreakerTrippedCount}); return false; } else { return true; } } }
"ZoneAwareNIWSDiscoveryLoadBalancer." + this.getName() + ".avoidZoneWithBlackoutPercetage", 0.99999d); Set<String> availableZones = ZoneAvoidanceRule.getAvailableZones(zoneSnapshot, triggeringLoad.get(), triggeringBlackoutPercentage.get()); logger.debug("Available zones: {}", availableZones); if (availableZones != null && availableZones.size() < zoneSnapshot.keySet().size()) {
@Override public void initWithNiwsConfig(IClientConfig niwsClientConfig) { String sZoneAffinity = "" + niwsClientConfig.getProperty(CommonClientConfigKey.EnableZoneAffinity, false); if (sZoneAffinity != null){ zoneAffinity = Boolean.parseBoolean(sZoneAffinity); logger.debug("ZoneAffinity is set to {}", zoneAffinity); } String sZoneExclusive = "" + niwsClientConfig.getProperty(CommonClientConfigKey.EnableZoneExclusivity, false); if (sZoneExclusive != null){ zoneExclusive = Boolean.parseBoolean(sZoneExclusive); } if (ConfigurationManager.getDeploymentContext() != null) { zone = ConfigurationManager.getDeploymentContext().getValue(ContextKey.zone); } activeReqeustsPerServerThreshold = DynamicPropertyFactory.getInstance().getDoubleProperty(niwsClientConfig.getClientName() + "." + niwsClientConfig.getNameSpace() + ".zoneAffinity.maxLoadPerServer", 0.6d); logger.debug("activeReqeustsPerServerThreshold: {}", activeReqeustsPerServerThreshold.get()); blackOutServerPercentageThreshold = DynamicPropertyFactory.getInstance().getDoubleProperty(niwsClientConfig.getClientName() + "." + niwsClientConfig.getNameSpace() + ".zoneAffinity.maxBlackOutServesrPercentage", 0.8d); logger.debug("blackOutServerPercentageThreshold: {}", blackOutServerPercentageThreshold.get()); availableServersThreshold = DynamicPropertyFactory.getInstance().getIntProperty(niwsClientConfig.getClientName() + "." + niwsClientConfig.getNameSpace() + ".zoneAffinity.minAvailableServers", 2); logger.debug("availableServersThreshold: {}", availableServersThreshold.get()); overrideCounter = Monitors.newCounter("ZoneAffinity_OverrideCounter"); Monitors.registerObject("NIWSServerListFilter_" + niwsClientConfig.getClientName()); }