Search in sources :

Example 1 with SplitBrainProtectionListenerConfig

use of com.hazelcast.config.SplitBrainProtectionListenerConfig in project hazelcast by hazelcast.

the class SplitBrainProtectionServiceImpl method initializeListeners.

private void initializeListeners() {
    for (Map.Entry<String, SplitBrainProtectionConfig> configEntry : nodeEngine.getConfig().getSplitBrainProtectionConfigs().entrySet()) {
        SplitBrainProtectionConfig config = configEntry.getValue();
        String instanceName = configEntry.getKey();
        for (SplitBrainProtectionListenerConfig listenerConfig : config.getListenerConfigs()) {
            initializeListenerInternal(instanceName, listenerConfig);
        }
    }
}
Also used : SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) SplitBrainProtectionConfig(com.hazelcast.config.SplitBrainProtectionConfig) HashMap(java.util.HashMap) Map(java.util.Map)

Example 2 with SplitBrainProtectionListenerConfig

use of com.hazelcast.config.SplitBrainProtectionListenerConfig in project hazelcast by hazelcast.

the class YamlMemberDomConfigProcessor method handleSplitBrainProtectionListeners.

@Override
protected void handleSplitBrainProtectionListeners(SplitBrainProtectionConfig splitBrainProtectionConfig, Node n) {
    for (Node listenerNode : childElements(n)) {
        String listenerClass = listenerNode.getNodeValue().trim();
        splitBrainProtectionConfig.addListenerConfig(new SplitBrainProtectionListenerConfig(listenerClass));
    }
}
Also used : SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) Node(org.w3c.dom.Node) YamlNode(com.hazelcast.internal.yaml.YamlNode)

Example 3 with SplitBrainProtectionListenerConfig

use of com.hazelcast.config.SplitBrainProtectionListenerConfig in project hazelcast by hazelcast.

the class ListenerConfigHolder method asListenerConfig.

public <T extends ListenerConfig> T asListenerConfig(SerializationService serializationService) {
    validate();
    ListenerConfig listenerConfig = null;
    if (className != null) {
        switch(listenerType) {
            case GENERIC:
                listenerConfig = new ListenerConfig(className);
                break;
            case ITEM:
                listenerConfig = new ItemListenerConfig(className, includeValue);
                break;
            case ENTRY:
                listenerConfig = new EntryListenerConfig(className, local, includeValue);
                break;
            case SPLIT_BRAIN_PROTECTION:
                listenerConfig = new SplitBrainProtectionListenerConfig(className);
                break;
            case CACHE_PARTITION_LOST:
                listenerConfig = new CachePartitionLostListenerConfig(className);
                break;
            case MAP_PARTITION_LOST:
                listenerConfig = new MapPartitionLostListenerConfig(className);
                break;
            default:
        }
    } else {
        EventListener eventListener = serializationService.toObject(listenerImplementation);
        switch(listenerType) {
            case GENERIC:
                listenerConfig = new ListenerConfig(eventListener);
                break;
            case ITEM:
                listenerConfig = new ItemListenerConfig((ItemListener) eventListener, includeValue);
                break;
            case ENTRY:
                listenerConfig = new EntryListenerConfig((MapListener) eventListener, local, includeValue);
                break;
            case SPLIT_BRAIN_PROTECTION:
                listenerConfig = new SplitBrainProtectionListenerConfig((SplitBrainProtectionListener) eventListener);
                break;
            case CACHE_PARTITION_LOST:
                listenerConfig = new CachePartitionLostListenerConfig((CachePartitionLostListener) eventListener);
                break;
            case MAP_PARTITION_LOST:
                listenerConfig = new MapPartitionLostListenerConfig((MapPartitionLostListener) eventListener);
                break;
            default:
        }
    }
    return (T) listenerConfig;
}
Also used : SplitBrainProtectionListener(com.hazelcast.splitbrainprotection.SplitBrainProtectionListener) CachePartitionLostListener(com.hazelcast.cache.impl.event.CachePartitionLostListener) MapPartitionLostListenerConfig(com.hazelcast.config.MapPartitionLostListenerConfig) CachePartitionLostListenerConfig(com.hazelcast.config.CachePartitionLostListenerConfig) EntryListenerConfig(com.hazelcast.config.EntryListenerConfig) CachePartitionLostListenerConfig(com.hazelcast.config.CachePartitionLostListenerConfig) ListenerConfig(com.hazelcast.config.ListenerConfig) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) MapPartitionLostListenerConfig(com.hazelcast.config.MapPartitionLostListenerConfig) EntryListenerConfig(com.hazelcast.config.EntryListenerConfig) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) MapPartitionLostListener(com.hazelcast.map.listener.MapPartitionLostListener) MapListener(com.hazelcast.map.listener.MapListener) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) ItemListener(com.hazelcast.collection.ItemListener) EventListener(java.util.EventListener)

Example 4 with SplitBrainProtectionListenerConfig

use of com.hazelcast.config.SplitBrainProtectionListenerConfig in project hazelcast by hazelcast.

the class SplitBrainProtectionListenerTest method whenCustomResolverDefined_splitBrainProtectionEventsFired.

@Test
public void whenCustomResolverDefined_splitBrainProtectionEventsFired() {
    EventCountingSplitBrainProtectionListener listener = new EventCountingSplitBrainProtectionListener(0, 1);
    SplitBrainProtectionListenerConfig listenerConfig = new SplitBrainProtectionListenerConfig(listener);
    SplitBrainProtectionFunction function = members -> members.size() >= 2;
    SplitBrainProtectionConfig splitBrainProtectionConfig = new SplitBrainProtectionConfig().setName(randomName()).setEnabled(true).addListenerConfig(listenerConfig).setFunctionImplementation(function);
    Config config = new Config().addSplitBrainProtectionConfig(splitBrainProtectionConfig);
    TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory();
    factory.newHazelcastInstance(config);
    factory.newHazelcastInstance(config).shutdown();
    assertOpenEventually(listener.notPresentLatch);
}
Also used : SplitBrainProtectionConfig(com.hazelcast.config.SplitBrainProtectionConfig) Config(com.hazelcast.config.Config) HazelcastInstance(com.hazelcast.core.HazelcastInstance) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) TestHazelcastInstanceFactory(com.hazelcast.test.TestHazelcastInstanceFactory) Member(com.hazelcast.cluster.Member) QuickTest(com.hazelcast.test.annotation.QuickTest) Assert.assertNotNull(org.junit.Assert.assertNotNull) HazelcastTestSupport(com.hazelcast.test.HazelcastTestSupport) Collection(java.util.Collection) RunWith(org.junit.runner.RunWith) Matchers(org.hamcrest.Matchers) Test(org.junit.Test) Category(org.junit.experimental.categories.Category) AtomicReference(java.util.concurrent.atomic.AtomicReference) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) HazelcastSerialClassRunner(com.hazelcast.test.HazelcastSerialClassRunner) Assert.assertThat(org.junit.Assert.assertThat) CountDownLatch(java.util.concurrent.CountDownLatch) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Assert.assertEquals(org.junit.Assert.assertEquals) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) SplitBrainProtectionConfig(com.hazelcast.config.SplitBrainProtectionConfig) Config(com.hazelcast.config.Config) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) SplitBrainProtectionConfig(com.hazelcast.config.SplitBrainProtectionConfig) TestHazelcastInstanceFactory(com.hazelcast.test.TestHazelcastInstanceFactory) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 5 with SplitBrainProtectionListenerConfig

use of com.hazelcast.config.SplitBrainProtectionListenerConfig in project hazelcast by hazelcast.

the class ConfigDataSerializerHook method createFactory.

@Override
public DataSerializableFactory createFactory() {
    ConstructorFunction<Integer, IdentifiedDataSerializable>[] constructors = new ConstructorFunction[LEN];
    constructors[WAN_REPLICATION_CONFIG] = arg -> new WanReplicationConfig();
    constructors[WAN_CONSUMER_CONFIG] = arg -> new WanConsumerConfig();
    constructors[WAN_CUSTOM_PUBLISHER_CONFIG] = arg -> new WanCustomPublisherConfig();
    constructors[WAN_BATCH_PUBLISHER_CONFIG] = arg -> new WanBatchPublisherConfig();
    constructors[NEAR_CACHE_CONFIG] = arg -> new NearCacheConfig();
    constructors[NEAR_CACHE_PRELOADER_CONFIG] = arg -> new NearCachePreloaderConfig();
    constructors[ADD_DYNAMIC_CONFIG_OP] = arg -> new AddDynamicConfigOperation();
    constructors[DYNAMIC_CONFIG_PRE_JOIN_OP] = arg -> new DynamicConfigPreJoinOperation();
    constructors[MULTIMAP_CONFIG] = arg -> new MultiMapConfig();
    constructors[LISTENER_CONFIG] = arg -> new ListenerConfig();
    constructors[ENTRY_LISTENER_CONFIG] = arg -> new EntryListenerConfig();
    constructors[MAP_CONFIG] = arg -> new MapConfig();
    constructors[MAP_STORE_CONFIG] = arg -> new MapStoreConfig();
    constructors[MAP_PARTITION_LOST_LISTENER_CONFIG] = arg -> new MapPartitionLostListenerConfig();
    constructors[INDEX_CONFIG] = arg -> new IndexConfig();
    constructors[MAP_ATTRIBUTE_CONFIG] = arg -> new AttributeConfig();
    constructors[QUERY_CACHE_CONFIG] = arg -> new QueryCacheConfig();
    constructors[PREDICATE_CONFIG] = arg -> new PredicateConfig();
    constructors[PARTITION_STRATEGY_CONFIG] = arg -> new PartitioningStrategyConfig();
    constructors[HOT_RESTART_CONFIG] = arg -> new HotRestartConfig();
    constructors[TOPIC_CONFIG] = arg -> new TopicConfig();
    constructors[RELIABLE_TOPIC_CONFIG] = arg -> new ReliableTopicConfig();
    constructors[ITEM_LISTENER_CONFIG] = arg -> new ItemListenerConfig();
    constructors[QUEUE_STORE_CONFIG] = arg -> new QueueStoreConfig();
    constructors[QUEUE_CONFIG] = arg -> new QueueConfig();
    constructors[LIST_CONFIG] = arg -> new ListConfig();
    constructors[SET_CONFIG] = arg -> new SetConfig();
    constructors[EXECUTOR_CONFIG] = arg -> new ExecutorConfig();
    constructors[DURABLE_EXECUTOR_CONFIG] = arg -> new DurableExecutorConfig();
    constructors[SCHEDULED_EXECUTOR_CONFIG] = arg -> new ScheduledExecutorConfig();
    constructors[REPLICATED_MAP_CONFIG] = arg -> new ReplicatedMapConfig();
    constructors[RINGBUFFER_CONFIG] = arg -> new RingbufferConfig();
    constructors[RINGBUFFER_STORE_CONFIG] = arg -> new RingbufferStoreConfig();
    constructors[CARDINALITY_ESTIMATOR_CONFIG] = arg -> new CardinalityEstimatorConfig();
    constructors[SIMPLE_CACHE_CONFIG] = arg -> new CacheSimpleConfig();
    constructors[SIMPLE_CACHE_CONFIG_EXPIRY_POLICY_FACTORY_CONFIG] = arg -> new CacheSimpleConfig.ExpiryPolicyFactoryConfig();
    constructors[SIMPLE_CACHE_CONFIG_TIMED_EXPIRY_POLICY_FACTORY_CONFIG] = arg -> new CacheSimpleConfig.ExpiryPolicyFactoryConfig.TimedExpiryPolicyFactoryConfig();
    constructors[SIMPLE_CACHE_CONFIG_DURATION_CONFIG] = arg -> new CacheSimpleConfig.ExpiryPolicyFactoryConfig.DurationConfig();
    constructors[SPLIT_BRAIN_PROTECTION_CONFIG] = arg -> new SplitBrainProtectionConfig();
    constructors[EVENT_JOURNAL_CONFIG] = arg -> new EventJournalConfig();
    constructors[SPLIT_BRAIN_PROTECTION_LISTENER_CONFIG] = arg -> new SplitBrainProtectionListenerConfig();
    constructors[CACHE_PARTITION_LOST_LISTENER_CONFIG] = arg -> new CachePartitionLostListenerConfig();
    constructors[SIMPLE_CACHE_ENTRY_LISTENER_CONFIG] = arg -> new CacheSimpleEntryListenerConfig();
    constructors[FLAKE_ID_GENERATOR_CONFIG] = arg -> new FlakeIdGeneratorConfig();
    constructors[MERGE_POLICY_CONFIG] = arg -> new MergePolicyConfig();
    constructors[PN_COUNTER_CONFIG] = arg -> new PNCounterConfig();
    constructors[MERKLE_TREE_CONFIG] = arg -> new MerkleTreeConfig();
    constructors[WAN_SYNC_CONFIG] = arg -> new WanSyncConfig();
    constructors[KUBERNETES_CONFIG] = arg -> new KubernetesConfig();
    constructors[EUREKA_CONFIG] = arg -> new EurekaConfig();
    constructors[GCP_CONFIG] = arg -> new GcpConfig();
    constructors[AZURE_CONFIG] = arg -> new AzureConfig();
    constructors[AWS_CONFIG] = arg -> new AwsConfig();
    constructors[DISCOVERY_CONFIG] = arg -> new DiscoveryConfig();
    constructors[DISCOVERY_STRATEGY_CONFIG] = arg -> new DiscoveryStrategyConfig();
    constructors[WAN_REPLICATION_REF] = arg -> new WanReplicationRef();
    constructors[EVICTION_CONFIG] = arg -> new EvictionConfig();
    constructors[PERMISSION_CONFIG] = arg -> new PermissionConfig();
    constructors[BITMAP_INDEX_OPTIONS] = arg -> new BitmapIndexOptions();
    constructors[DATA_PERSISTENCE_CONFIG] = arg -> new DataPersistenceConfig();
    constructors[TIERED_STORE_CONFIG] = arg -> new TieredStoreConfig();
    constructors[MEMORY_TIER_CONFIG] = arg -> new MemoryTierConfig();
    constructors[DISK_TIER_CONFIG] = arg -> new DiskTierConfig();
    return new ArrayDataSerializableFactory(constructors);
}
Also used : PermissionConfig(com.hazelcast.config.PermissionConfig) AzureConfig(com.hazelcast.config.AzureConfig) AddDynamicConfigOperation(com.hazelcast.internal.dynamicconfig.AddDynamicConfigOperation) PNCounterConfig(com.hazelcast.config.PNCounterConfig) ExecutorConfig(com.hazelcast.config.ExecutorConfig) ScheduledExecutorConfig(com.hazelcast.config.ScheduledExecutorConfig) DurableExecutorConfig(com.hazelcast.config.DurableExecutorConfig) WanBatchPublisherConfig(com.hazelcast.config.WanBatchPublisherConfig) QueueStoreConfig(com.hazelcast.config.QueueStoreConfig) WanSyncConfig(com.hazelcast.config.WanSyncConfig) DataPersistenceConfig(com.hazelcast.config.DataPersistenceConfig) ReplicatedMapConfig(com.hazelcast.config.ReplicatedMapConfig) WanCustomPublisherConfig(com.hazelcast.config.WanCustomPublisherConfig) EurekaConfig(com.hazelcast.config.EurekaConfig) WanReplicationConfig(com.hazelcast.config.WanReplicationConfig) KubernetesConfig(com.hazelcast.config.KubernetesConfig) MultiMapConfig(com.hazelcast.config.MultiMapConfig) CacheSimpleEntryListenerConfig(com.hazelcast.config.CacheSimpleEntryListenerConfig) EntryListenerConfig(com.hazelcast.config.EntryListenerConfig) PredicateConfig(com.hazelcast.config.PredicateConfig) NearCachePreloaderConfig(com.hazelcast.config.NearCachePreloaderConfig) RingbufferConfig(com.hazelcast.config.RingbufferConfig) RingbufferStoreConfig(com.hazelcast.config.RingbufferStoreConfig) GcpConfig(com.hazelcast.config.GcpConfig) AttributeConfig(com.hazelcast.config.AttributeConfig) CacheSimpleEntryListenerConfig(com.hazelcast.config.CacheSimpleEntryListenerConfig) MergePolicyConfig(com.hazelcast.config.MergePolicyConfig) QueueConfig(com.hazelcast.config.QueueConfig) QueryCacheConfig(com.hazelcast.config.QueryCacheConfig) DiscoveryStrategyConfig(com.hazelcast.config.DiscoveryStrategyConfig) DynamicConfigPreJoinOperation(com.hazelcast.internal.dynamicconfig.DynamicConfigPreJoinOperation) NearCacheConfig(com.hazelcast.config.NearCacheConfig) BitmapIndexOptions(com.hazelcast.config.BitmapIndexOptions) MemoryTierConfig(com.hazelcast.config.MemoryTierConfig) MapStoreConfig(com.hazelcast.config.MapStoreConfig) SplitBrainProtectionConfig(com.hazelcast.config.SplitBrainProtectionConfig) MerkleTreeConfig(com.hazelcast.config.MerkleTreeConfig) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) CacheSimpleEntryListenerConfig(com.hazelcast.config.CacheSimpleEntryListenerConfig) ListenerConfig(com.hazelcast.config.ListenerConfig) EntryListenerConfig(com.hazelcast.config.EntryListenerConfig) CachePartitionLostListenerConfig(com.hazelcast.config.CachePartitionLostListenerConfig) MapPartitionLostListenerConfig(com.hazelcast.config.MapPartitionLostListenerConfig) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) WanConsumerConfig(com.hazelcast.config.WanConsumerConfig) FlakeIdGeneratorConfig(com.hazelcast.config.FlakeIdGeneratorConfig) DiskTierConfig(com.hazelcast.config.DiskTierConfig) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) SetConfig(com.hazelcast.config.SetConfig) MapConfig(com.hazelcast.config.MapConfig) MultiMapConfig(com.hazelcast.config.MultiMapConfig) ReplicatedMapConfig(com.hazelcast.config.ReplicatedMapConfig) ListConfig(com.hazelcast.config.ListConfig) CardinalityEstimatorConfig(com.hazelcast.config.CardinalityEstimatorConfig) HotRestartConfig(com.hazelcast.config.HotRestartConfig) CacheSimpleConfig(com.hazelcast.config.CacheSimpleConfig) AwsConfig(com.hazelcast.config.AwsConfig) MapPartitionLostListenerConfig(com.hazelcast.config.MapPartitionLostListenerConfig) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) WanReplicationRef(com.hazelcast.config.WanReplicationRef) EvictionConfig(com.hazelcast.config.EvictionConfig) DurableExecutorConfig(com.hazelcast.config.DurableExecutorConfig) CachePartitionLostListenerConfig(com.hazelcast.config.CachePartitionLostListenerConfig) ScheduledExecutorConfig(com.hazelcast.config.ScheduledExecutorConfig) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) TopicConfig(com.hazelcast.config.TopicConfig) EventJournalConfig(com.hazelcast.config.EventJournalConfig) ConstructorFunction(com.hazelcast.internal.util.ConstructorFunction) PartitioningStrategyConfig(com.hazelcast.config.PartitioningStrategyConfig) IndexConfig(com.hazelcast.config.IndexConfig) TieredStoreConfig(com.hazelcast.config.TieredStoreConfig) DiscoveryConfig(com.hazelcast.config.DiscoveryConfig) ArrayDataSerializableFactory(com.hazelcast.internal.serialization.impl.ArrayDataSerializableFactory)

Aggregations

SplitBrainProtectionListenerConfig (com.hazelcast.config.SplitBrainProtectionListenerConfig)7 SplitBrainProtectionConfig (com.hazelcast.config.SplitBrainProtectionConfig)4 CachePartitionLostListenerConfig (com.hazelcast.config.CachePartitionLostListenerConfig)2 Config (com.hazelcast.config.Config)2 EntryListenerConfig (com.hazelcast.config.EntryListenerConfig)2 ItemListenerConfig (com.hazelcast.config.ItemListenerConfig)2 ListenerConfig (com.hazelcast.config.ListenerConfig)2 MapPartitionLostListenerConfig (com.hazelcast.config.MapPartitionLostListenerConfig)2 CachePartitionLostListener (com.hazelcast.cache.impl.event.CachePartitionLostListener)1 Member (com.hazelcast.cluster.Member)1 ItemListener (com.hazelcast.collection.ItemListener)1 AttributeConfig (com.hazelcast.config.AttributeConfig)1 AwsConfig (com.hazelcast.config.AwsConfig)1 AzureConfig (com.hazelcast.config.AzureConfig)1 BitmapIndexOptions (com.hazelcast.config.BitmapIndexOptions)1 CacheSimpleConfig (com.hazelcast.config.CacheSimpleConfig)1 CacheSimpleEntryListenerConfig (com.hazelcast.config.CacheSimpleEntryListenerConfig)1 CardinalityEstimatorConfig (com.hazelcast.config.CardinalityEstimatorConfig)1 DataPersistenceConfig (com.hazelcast.config.DataPersistenceConfig)1 DiscoveryConfig (com.hazelcast.config.DiscoveryConfig)1