@Test public void testCacheLocalEntries() { int n = 2; String mapName = "test"; Config config = new Config(); final NearCacheConfig nearCacheConfig = new NearCacheConfig(); nearCacheConfig.setCacheLocalEntries(true); nearCacheConfig.setInvalidateOnChange(false); final MapConfig mapConfig = config.getMapConfig(mapName); mapConfig.setNearCacheConfig(nearCacheConfig); HazelcastInstance instance = createHazelcastInstanceFactory(n).newInstances(config)[0]; IMap<String, String> map = instance.getMap(mapName); int noOfEntries = 100; for (int i = 0; i < noOfEntries; i++) { map.put("key" + i, "value" + i); } // warm-up cache for (int i = 0; i < noOfEntries; i++) { map.get("key" + i); } NearCache nearCache = getNearCache(mapName, instance); assertEquals(noOfEntries, nearCache.size()); }
@Test public void testGetAsyncIssue1863() throws Exception { final String mapName = "testGetAsyncWithNearCacheIssue1863"; Config config = new Config(); final NearCacheConfig nearCacheConfig = new NearCacheConfig(); nearCacheConfig.setCacheLocalEntries(true); config.getMapConfig(mapName).setNearCacheConfig(nearCacheConfig); final TestHazelcastInstanceFactory hazelcastInstanceFactory = createHazelcastInstanceFactory(2); HazelcastInstance instance1 = hazelcastInstanceFactory.newHazelcastInstance(config); HazelcastInstance instance2 = hazelcastInstanceFactory.newHazelcastInstance(config); IMap<Integer, Integer> map = instance1.getMap(mapName); HashSet keys = new HashSet(); int size = 1000; // populate near cache -- cache local entries mode on. for (int i = 0; i < size; i++) { map.get(i); keys.add(i); } for (int i = 0; i < size; i++) { final Future<Integer> async = map.getAsync(i); assertNull(async.get()); } NearCacheStats stats = map.getLocalMapStats().getNearCacheStats(); assertEquals(size, stats.getHits()); }
protected ClientConfig newClientConfig(String mapName) { NearCacheConfig nearCacheConfig = new NearCacheConfig(); nearCacheConfig.setInMemoryFormat(getNearCacheInMemoryFormat()); nearCacheConfig.setName(mapName); nearCacheConfig.setInvalidateOnChange(true); nearCacheConfig.setCacheLocalEntries(true); ClientConfig clientConfig = new ClientConfig(); clientConfig.addNearCacheConfig(nearCacheConfig); return clientConfig; }