@Override public Void call() throws Exception { e.version(); return null; } }, IgniteException.class, null);
@Override public Void call() throws Exception { e.version(); return null; } }, IgniteException.class, null);
@Override public Void call() throws Exception { e.version(); return null; } }, IgniteException.class, null);
@Override public Void call() throws Exception { e.version(); return null; } }, IgniteException.class, null);
@Override public Object process(MutableEntry<Integer, String> entry, Object... args) { CacheEntry<Integer, String> verEntry = entry.unwrap(CacheEntry.class); checkVersionedEntry(verEntry); return verEntry.version(); } }));
@Override public Object process(MutableEntry<Integer, String> entry, Object... args) { CacheEntry<Integer, String> verEntry = entry.unwrap(CacheEntry.class); checkVersionedEntry(verEntry); return verEntry.version(); } });
/** * @param cache Cache. * @param vers Current versions. */ @SuppressWarnings("unchecked") private void checkVersionIncrease(IgniteCache<Object, Object> cache, Map<Integer, Comparable> vers) { for (Integer k : vers.keySet()) { cache.put(k, k); Comparable curVer = vers.get(k); CacheEntry entry = cache.getEntry(k); if (entry != null) { Comparable newVer = entry.version(); assertTrue(newVer.compareTo(curVer) > 0); vers.put(k, newVer); } else { CacheConfiguration ccfg = cache.getConfiguration(CacheConfiguration.class); assertEquals(0, ccfg.getBackups()); } } }
/** * @throws Exception If failed. */ @Test public void testVersionComparision() throws Exception { IgniteCache<Integer, String> cache = grid(0).cache(DEFAULT_CACHE_NAME); CacheEntry<String, Integer> ver1 = cache.invoke(100, new EntryProcessor<Integer, String, CacheEntry<String, Integer>>() { @Override public CacheEntry<String, Integer> process(MutableEntry<Integer, String> entry, Object... arguments) throws EntryProcessorException { return entry.unwrap(CacheEntry.class); } }); cache.put(100, "new value 100"); CacheEntry<String, Integer> ver2 = cache.invoke(100, new EntryProcessor<Integer, String, CacheEntry<String, Integer>>() { @Override public CacheEntry<String, Integer> process(MutableEntry<Integer, String> entry, Object... arguments) throws EntryProcessorException { return entry.unwrap(CacheEntry.class); } }); assert ver1.version().compareTo(ver2.version()) < 0; }
/** * @throws Exception In case of error. */ @Test public void testGetEntry() throws Exception { IgniteCache<String, Integer> cache = jcache(); cache.put("key1", 1); cache.put("key2", 2); CacheEntry<String, Integer> key1e = cache.getEntry("key1"); CacheEntry<String, Integer> key2e = cache.getEntry("key2"); CacheEntry<String, Integer> wrongKeye = cache.getEntry("wrongKey"); assert key1e.getValue() == 1; assert key1e.getKey().equals("key1"); assert key1e.version() != null; assert key2e.getValue() == 2; assert key2e.getKey().equals("key2"); assert key2e.version() != null; assert wrongKeye == null; }
/** * @param entry Versioned entry. */ private void checkVersionedEntry(CacheEntry<Integer, String> entry) { assertNotNull(entry); assertNotNull(entry.version()); assertNotNull(entry.getKey()); assertNotNull(entry.getValue()); } }
/** * @param e Entry. * @param cache Cache. * @throws Exception If failed. */ private void compareVersionWithPrimaryNode(CacheEntry<Integer, ?> e, IgniteCache<Integer, TestValue> cache) throws Exception { CacheConfiguration cfg = cache.getConfiguration(CacheConfiguration.class); if (cfg.getCacheMode() != LOCAL) { Ignite prim = primaryNode(e.getKey(), cache.getName()); GridCacheAdapter<Object, Object> cacheAdapter = ((IgniteKernal)prim).internalCache(cache.getName()); if (cfg.getNearConfiguration() != null) cacheAdapter = ((GridNearCacheAdapter)cacheAdapter).dht(); IgniteCacheObjectProcessor cacheObjects = cacheAdapter.context().cacheObjects(); CacheObjectContext cacheObjCtx = cacheAdapter.context().cacheObjectContext(); GridCacheEntryEx mapEntry = cacheAdapter.entryEx(cacheObjects.toCacheKeyObject( cacheObjCtx, cacheAdapter.context(), e.getKey(), true)); mapEntry.unswap(); assertNotNull("No entry for key: " + e.getKey(), mapEntry); assertEquals(mapEntry.version(), e.version()); } }