use of com.hazelcast.config.CardinalityEstimatorConfig in project hazelcast by hazelcast.
the class CardinalityEstimatorContainerCollector method onIteration.
/**
* The {@link CardinalityEstimatorContainer} doesn't know its name or configuration, so we create these lookup maps.
* This is cheaper than storing this information permanently in the container.
*/
@Override
protected void onIteration(String containerName, CardinalityEstimatorContainer container) {
CardinalityEstimatorConfig cardinalityEstimatorConfig = config.findCardinalityEstimatorConfig(containerName);
containerNames.put(container, containerName);
containerPolicies.put(container, cardinalityEstimatorConfig.getMergePolicyConfig());
}
use of com.hazelcast.config.CardinalityEstimatorConfig in project hazelcast by hazelcast.
the class YamlMemberDomConfigProcessor method handleCardinalityEstimator.
@Override
protected void handleCardinalityEstimator(Node node) {
for (Node estimatorNode : childElements(node)) {
CardinalityEstimatorConfig estimatorConfig = ConfigUtils.getByNameOrNew(config.getCardinalityEstimatorConfigs(), estimatorNode.getNodeName(), CardinalityEstimatorConfig.class);
handleCardinalityEstimatorNode(estimatorNode, estimatorConfig);
}
}
use of com.hazelcast.config.CardinalityEstimatorConfig in project hazelcast by hazelcast.
the class DynamicConfigYamlGenerator method cardinalityEstimatorYamlGenerator.
public static void cardinalityEstimatorYamlGenerator(Map<String, Object> parent, Config config) {
if (config.getCardinalityEstimatorConfigs().isEmpty()) {
return;
}
Map<String, Object> child = new LinkedHashMap<>();
for (CardinalityEstimatorConfig subConfigAsObject : config.getCardinalityEstimatorConfigs().values()) {
Map<String, Object> subConfigAsMap = new LinkedHashMap<>();
addNonNullToMap(subConfigAsMap, "backup-count", subConfigAsObject.getBackupCount());
addNonNullToMap(subConfigAsMap, "async-backup-count", subConfigAsObject.getAsyncBackupCount());
addNonNullToMap(subConfigAsMap, "split-brain-protection-ref", subConfigAsObject.getSplitBrainProtectionName());
addNonNullToMap(subConfigAsMap, "merge-policy", getMergePolicyConfigAsMap(subConfigAsObject.getMergePolicyConfig()));
child.put(subConfigAsObject.getName(), subConfigAsMap);
}
parent.put("cardinality-estimator", child);
}
use of com.hazelcast.config.CardinalityEstimatorConfig in project hazelcast by hazelcast.
the class DynamicConfigXmlGenerator method cardinalityEstimatorXmlGenerator.
public static void cardinalityEstimatorXmlGenerator(ConfigXmlGenerator.XmlGenerator gen, Config config) {
for (CardinalityEstimatorConfig ex : config.getCardinalityEstimatorConfigs().values()) {
MergePolicyConfig mergePolicyConfig = ex.getMergePolicyConfig();
gen.open("cardinality-estimator", "name", ex.getName()).node("backup-count", ex.getBackupCount()).node("async-backup-count", ex.getAsyncBackupCount()).node("split-brain-protection-ref", ex.getSplitBrainProtectionName()).node("merge-policy", mergePolicyConfig.getPolicy(), "batch-size", mergePolicyConfig.getBatchSize()).close();
}
}
use of com.hazelcast.config.CardinalityEstimatorConfig in project hazelcast by hazelcast.
the class ClusterWideConfigurationService method registerConfigLocally.
/**
* Register a dynamic configuration in a local member. When a dynamic configuration with the same name already
* exists then this call has no effect.
*
* @param newConfig Configuration to register.
* @param configCheckMode behaviour when a config is detected
* @throws UnsupportedOperationException when given configuration type is not supported
* @throws InvalidConfigurationException when conflict is detected and configCheckMode is on THROW_EXCEPTION
*/
@SuppressWarnings("checkstyle:methodlength")
public void registerConfigLocally(IdentifiedDataSerializable newConfig, ConfigCheckMode configCheckMode) {
IdentifiedDataSerializable currentConfig;
if (newConfig instanceof MultiMapConfig) {
MultiMapConfig multiMapConfig = (MultiMapConfig) newConfig;
currentConfig = multiMapConfigs.putIfAbsent(multiMapConfig.getName(), multiMapConfig);
} else if (newConfig instanceof MapConfig) {
MapConfig newMapConfig = (MapConfig) newConfig;
currentConfig = mapConfigs.putIfAbsent(newMapConfig.getName(), newMapConfig);
if (currentConfig == null) {
listener.onConfigRegistered(newMapConfig);
}
} else if (newConfig instanceof CardinalityEstimatorConfig) {
CardinalityEstimatorConfig cardinalityEstimatorConfig = (CardinalityEstimatorConfig) newConfig;
currentConfig = cardinalityEstimatorConfigs.putIfAbsent(cardinalityEstimatorConfig.getName(), cardinalityEstimatorConfig);
} else if (newConfig instanceof RingbufferConfig) {
RingbufferConfig ringbufferConfig = (RingbufferConfig) newConfig;
currentConfig = ringbufferConfigs.putIfAbsent(ringbufferConfig.getName(), ringbufferConfig);
} else if (newConfig instanceof ListConfig) {
ListConfig listConfig = (ListConfig) newConfig;
currentConfig = listConfigs.putIfAbsent(listConfig.getName(), listConfig);
} else if (newConfig instanceof SetConfig) {
SetConfig setConfig = (SetConfig) newConfig;
currentConfig = setConfigs.putIfAbsent(setConfig.getName(), setConfig);
} else if (newConfig instanceof ReplicatedMapConfig) {
ReplicatedMapConfig replicatedMapConfig = (ReplicatedMapConfig) newConfig;
currentConfig = replicatedMapConfigs.putIfAbsent(replicatedMapConfig.getName(), replicatedMapConfig);
} else if (newConfig instanceof TopicConfig) {
TopicConfig topicConfig = (TopicConfig) newConfig;
currentConfig = topicConfigs.putIfAbsent(topicConfig.getName(), topicConfig);
} else if (newConfig instanceof ExecutorConfig) {
ExecutorConfig executorConfig = (ExecutorConfig) newConfig;
currentConfig = executorConfigs.putIfAbsent(executorConfig.getName(), executorConfig);
} else if (newConfig instanceof DurableExecutorConfig) {
DurableExecutorConfig durableExecutorConfig = (DurableExecutorConfig) newConfig;
currentConfig = durableExecutorConfigs.putIfAbsent(durableExecutorConfig.getName(), durableExecutorConfig);
} else if (newConfig instanceof ScheduledExecutorConfig) {
ScheduledExecutorConfig scheduledExecutorConfig = (ScheduledExecutorConfig) newConfig;
currentConfig = scheduledExecutorConfigs.putIfAbsent(scheduledExecutorConfig.getName(), scheduledExecutorConfig);
} else if (newConfig instanceof QueueConfig) {
QueueConfig queueConfig = (QueueConfig) newConfig;
currentConfig = queueConfigs.putIfAbsent(queueConfig.getName(), queueConfig);
} else if (newConfig instanceof ReliableTopicConfig) {
ReliableTopicConfig reliableTopicConfig = (ReliableTopicConfig) newConfig;
currentConfig = reliableTopicConfigs.putIfAbsent(reliableTopicConfig.getName(), reliableTopicConfig);
} else if (newConfig instanceof CacheSimpleConfig) {
CacheSimpleConfig cacheSimpleConfig = (CacheSimpleConfig) newConfig;
currentConfig = cacheSimpleConfigs.putIfAbsent(cacheSimpleConfig.getName(), cacheSimpleConfig);
if (currentConfig == null) {
listener.onConfigRegistered(cacheSimpleConfig);
}
} else if (newConfig instanceof FlakeIdGeneratorConfig) {
FlakeIdGeneratorConfig config = (FlakeIdGeneratorConfig) newConfig;
currentConfig = flakeIdGeneratorConfigs.putIfAbsent(config.getName(), config);
} else if (newConfig instanceof PNCounterConfig) {
PNCounterConfig config = (PNCounterConfig) newConfig;
currentConfig = pnCounterConfigs.putIfAbsent(config.getName(), config);
} else {
throw new UnsupportedOperationException("Unsupported config type: " + newConfig);
}
checkCurrentConfigNullOrEqual(configCheckMode, currentConfig, newConfig);
persist(newConfig);
}
Aggregations