@Override public Object call() throws Exception { final Ignite kernal = grid(0); CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); ccfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC); // Cache is already configured, should fail. ccfg.setName(STATIC_CACHE_NAME); ccfg.setNodeFilter(NODE_FILTER); return kernal.createCache(ccfg); } }, CacheExistsException.class, null);
/** */ private void prepareDynamicCaches(IgniteEx ig) { ig.getOrCreateCache(new CacheConfiguration<>(DYNAMIC_CACHE_NAME_1) .setGroupName(GROUP_WITH_STATIC_CACHES) .setAffinity(new RendezvousAffinityFunction(false, 32)) .setNodeFilter(nodeFilter) ); ig.getOrCreateCache(new CacheConfiguration<>(DYNAMIC_CACHE_NAME_2) .setGroupName(GROUP_WITH_DYNAMIC_CACHES) .setAffinity(new RendezvousAffinityFunction(false, 16)) .setNodeFilter((IgnitePredicate<ClusterNode>)node -> node.consistentId().toString().contains(NODE_1_CONS_ID)) ); }
@Override public Object call() throws Exception { final Ignite kernal = grid(0); CacheConfiguration ccfgDynamic = new CacheConfiguration(DEFAULT_CACHE_NAME); ccfgDynamic.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC); ccfgDynamic.setName(DYNAMIC_CACHE_NAME); ccfgDynamic.setNodeFilter(NODE_FILTER); CacheConfiguration ccfgStatic = new CacheConfiguration(DEFAULT_CACHE_NAME); ccfgStatic.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC); // Cache is already configured, should fail. ccfgStatic.setName(STATIC_CACHE_NAME); ccfgStatic.setNodeFilter(NODE_FILTER); return kernal.createCaches(F.asList(ccfgDynamic, ccfgStatic)); } }, CacheExistsException.class, null);
/** * Create cache configuration. * * @param name Name. * @param mode Mode. * @param atomicityMode Atomicity mode. * @return Cache configuration. */ protected CacheConfiguration cacheConfig(String name, CacheMode mode, CacheAtomicityMode atomicityMode) { CacheConfiguration ccfg = new CacheConfiguration(); ccfg.setName(name); ccfg.setCacheMode(mode); ccfg.setAtomicityMode(atomicityMode); ccfg.setNodeFilter(FILTER); return ccfg; }
/** * @return Cache configuration with query entities in {@code PUBLIC} schema. */ private CacheConfiguration cacheConfigurationForIndexingInPublicSchema() { return cacheConfigurationForIndexing() .setName(INDEXED_CACHE_NAME_2) .setSqlSchema(QueryUtils.DFLT_SCHEMA) .setNodeFilter(F.not(new DynamicIndexAbstractSelfTest.NodeFilter())); }
/** * Gets cache configuration. * * @return Cache configuration. */ private CacheConfiguration cacheConfiguration() { CacheConfiguration cacheCfg = defaultCacheConfiguration(); cacheCfg.setCacheMode(PARTITIONED); cacheCfg.setBackups(1); cacheCfg.setWriteSynchronizationMode(FULL_SYNC); if (noNodesFilter) cacheCfg.setNodeFilter(F.alwaysFalse()); return cacheCfg; }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); ccfg.setWriteSynchronizationMode(FULL_SYNC); ccfg.setCacheMode(REPLICATED); ccfg.setRebalanceMode(SYNC); ccfg.setNodeFilter(new TestNodeFilter("A")); ccfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL); if (attrVal != null) { Map<String, Object> attrs = new HashMap<>(); attrs.put(ATTR_NAME, attrVal); cfg.setUserAttributes(attrs); } cfg.setCacheConfiguration(ccfg); return cfg; }
/** * @param filter Node filter. * @return Cache configuration. */ private CacheConfiguration cacheConfiguration(NodeFilterByRegexp filter) { return new CacheConfiguration("test-cache-cq") .setBackups(1) .setNodeFilter(filter) .setAtomicityMode(atomicityMode()) .setWriteSynchronizationMode(FULL_SYNC) .setCacheMode(PARTITIONED); }
/** * @return Cache configuration. */ private CacheConfiguration cacheConfiguration() { CacheConfiguration ccfg = new CacheConfiguration(); ccfg.setName(CACHE_NAME1); ccfg.setNodeFilter(cacheNodeFilter); ccfg.setAffinity(affinityFunction(null)); ccfg.setWriteSynchronizationMode(FULL_SYNC); ccfg.setBackups(0); return ccfg; }
/** * @param atomicityMode Atomicity mode. */ private CacheConfiguration<Integer, Integer> cacheConfiguration(CacheAtomicityMode atomicityMode) { CacheConfiguration<Integer, Integer> ccfg = new CacheConfiguration<>(DEFAULT_CACHE_NAME); ccfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC); ccfg.setAffinity(new RendezvousAffinityFunction(false, 32)); ccfg.setBackups(1); ccfg.setNodeFilter(new TestIgnitePredicate()); ccfg.setAtomicityMode(atomicityMode); return ccfg; }
/** * Start SQL cache on given node. * @param node Node to create cache on. * @return Created cache. */ private IgniteCache<?, ?> createSqlCache(Ignite node) throws IgniteCheckedException { node.addCacheConfiguration(new CacheConfiguration<>("TPL") .setCacheMode(cacheMode) .setAtomicityMode(atomicityMode) .setNodeFilter(new NodeFilter())); return node.getOrCreateCache(new CacheConfiguration<>("idx").setIndexedTypes(Integer.class, Integer.class)); }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(gridName); CacheConfiguration ccfg = new CacheConfiguration("cache"); ccfg.setBackups(1); ccfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.PRIMARY_SYNC); ccfg.setAtomicityMode(CacheAtomicityMode.ATOMIC); ccfg.setNodeFilter(new NodeFilter()); TestCommunicationSpi spi = new TestCommunicationSpi(); spi.setMessageQueueLimit(100); cfg.setCommunicationSpi(spi); cfg.setClientMode(gridName.contains("client")); cfg.setCacheConfiguration(ccfg); return cfg; }
/** * @throws Exception If failed. */ @Test public void testCacheFilter() throws Exception { Ignite group1 = startGridsMultiThreaded(3); attrs = F.asMap("group", "data"); Ignite group2 = startGridsMultiThreaded(3, 2); group1.createCache(new CacheConfiguration<>("test-cache"). setNodeFilter(new AttributeNodeFilter("group", "data"))); assertEquals(2, group1.cluster().forDataNodes("test-cache").nodes().size()); assertEquals(2, group2.cluster().forDataNodes("test-cache").nodes().size()); assertEquals(0, group1.cluster().forDataNodes("wrong").nodes().size()); assertEquals(0, group2.cluster().forDataNodes("wrong").nodes().size()); }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); CacheConfiguration ccfg = defaultCacheConfiguration(); ccfg.setName(cacheName); ccfg.setCacheMode(cacheMode); ccfg.setAtomicityMode(TRANSACTIONAL); ccfg.setNodeFilter(new AttributeFilter(cacheName)); if (cacheMode == PARTITIONED) ccfg.setBackups(1); cfg.setCacheConfiguration(ccfg); cfg.setUserAttributes(F.asMap(TEST_ATTRIBUTE, cacheName)); return cfg; }
/** * @param ccfg Cache configuration. * @throws Exception If failed. */ private void oldestNotAffinityNode1(final CacheConfiguration ccfg) throws Exception { log.info("Test with cache: " + ccfg.getName()); IgniteEx ignite = grid(0); assertEquals(1L, ignite.localNode().order()); ccfg.setNodeFilter(new TestFilterExcludeOldest()); assertNotNull(ignite.getOrCreateCache(ccfg)); awaitPartitionMapExchange(); checkCache(ccfg.getName()); }
/** * @param ccfg Cache configuration. * @throws Exception If failed. */ private void notAffinityNode1(final CacheConfiguration ccfg) throws Exception { log.info("Test with cache: " + ccfg.getName()); IgniteEx ignite = grid(1); assertEquals(2, ignite.localNode().order()); ccfg.setNodeFilter(new TestFilterExcludeNode(2)); assertNotNull(ignite.getOrCreateCache(ccfg)); awaitPartitionMapExchange(); checkCache(ccfg.getName()); }
/** * @param ccfg Cache configuration. * @throws Exception If failed. */ private void oldestNotAffinityNode2(final CacheConfiguration ccfg) throws Exception { log.info("Test with cache: " + ccfg.getName()); IgniteEx ignite0 = grid(0); IgniteEx ignite1 = grid(1); assertEquals(1L, ignite0.localNode().order()); ccfg.setNodeFilter(new TestFilterExcludeOldest()); assertNotNull(ignite1.getOrCreateCache(ccfg)); assertNotNull(ignite0.cache(ccfg.getName())); awaitPartitionMapExchange(); checkCache(ccfg.getName()); }
/** * @param ccfg Cache configuration. * @throws Exception If failed. */ private void notAffinityNode2(final CacheConfiguration ccfg) throws Exception { log.info("Test with cache: " + ccfg.getName()); IgniteEx ignite0 = grid(0); IgniteEx ignite1 = grid(1); assertEquals(2L, ignite1.localNode().order()); ccfg.setNodeFilter(new TestFilterExcludeNode(2)); assertNotNull(ignite0.getOrCreateCache(ccfg)); assertNotNull(ignite1.cache(ccfg.getName())); awaitPartitionMapExchange(); checkCache(ccfg.getName()); }
/** * @throws Exception If failed. */ @Test public void testOldestChanged2() throws Exception { IgniteEx ignite0 = grid(0); assertEquals(1L, ignite0.localNode().order()); CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); ccfg.setNodeFilter(new TestFilterIncludeNode(3)); assertNotNull(ignite(1).getOrCreateCache(ccfg)); stopGrid(0); IgniteEx ingite1 = grid(1); assertNotNull(ingite1.getOrCreateCache(DEFAULT_CACHE_NAME)); awaitPartitionMapExchange(); checkCache(DEFAULT_CACHE_NAME); }
/** * @throws Exception If failed. */ @Test public void testOldestChanged1() throws Exception { IgniteEx ignite0 = grid(0); assertEquals(1L, ignite0.localNode().order()); CacheConfiguration ccfg = new CacheConfiguration(DEFAULT_CACHE_NAME); ccfg.setNodeFilter(new TestFilterExcludeOldest()); assertNotNull(ignite(1).getOrCreateCache(ccfg)); stopGrid(0); IgniteEx client = grid(NODES - 1); assertTrue(client.configuration().isClientMode()); assertNotNull(client.getOrCreateCache(DEFAULT_CACHE_NAME)); awaitPartitionMapExchange(); checkCache(DEFAULT_CACHE_NAME); }