/** * @return {@code True} if cache is near cache. */ public boolean isNear() { return cache != null && cache.isNear(); }
/** * Split clearLocally all task into multiple runnables. * * @param srv Whether to clear server cache. * @param near Whether to clear near cache. * @param readers Whether to clear readers. * @return Split runnables. */ public List<GridCacheClearAllRunnable<K, V>> splitClearLocally(boolean srv, boolean near, boolean readers) { if ((isNear() && near) || (!isNear() && srv)) { int keySize = size(); int cnt = Math.min(keySize / CLEAR_ALL_SPLIT_THRESHOLD + (keySize % CLEAR_ALL_SPLIT_THRESHOLD != 0 ? 1 : 0), Runtime.getRuntime().availableProcessors()); if (cnt == 0) cnt = 1; // Still perform cleanup since there could be entries in swap. GridCacheVersion obsoleteVer = ctx.versions().next(); List<GridCacheClearAllRunnable<K, V>> res = new ArrayList<>(cnt); for (int i = 0; i < cnt; i++) res.add(new GridCacheClearAllRunnable<>(this, obsoleteVer, i, cnt, readers)); return res; } else return null; }
/** * @param cache Cache. * @return Partition topology. */ private GridDhtPartitionTopology topology(GridCacheAdapter<K, V> cache) { return cache.isNear() ? ((GridNearCacheAdapter<K, V>)cache).dht().topology() : ((GridDhtCacheAdapter<K, V>)cache).topology(); }
/** * @return Topology version future. */ public GridDhtTopologyFuture topologyVersionFuture() { GridCacheAdapter<K, V> cache = this.cache; if (cache == null) throw new IllegalStateException("Cache stopped: " + cacheName); assert cache.isNear() || cache.isDht() || cache.isColocated() || cache.isDhtAtomic() : cache; return topology(cache).topologyVersionFuture(); }
/** * @param cache Cache. */ public void cache(GridCacheAdapter<K, V> cache) { this.cache = cache; deferredDel = cache.isDht() || cache.isDhtAtomic() || cache.isColocated() || (cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC); }
if (cache.isNear()) addEntries(ldr, keys, (((GridNearCacheAdapter)cache).dht()));
private void checkEmpty(final GridCacheAdapter internalCache, final Object key) throws Exception { if (internalCache.isNear()) { checkEmpty(((GridNearCacheAdapter)internalCache).dht(), key); return; } GridTestUtils.waitForCondition(new PA() { @Override public boolean apply() { return internalCache.peekEx(key) == null; } }, 5000); assertNull(internalCache.peekEx(key)); } }
/** * @param g Grid. * @return Topology. */ private GridDhtPartitionTopology topology(Ignite g) { GridCacheAdapter<Integer, String> internalCache = ((IgniteKernal)g).internalCache(DEFAULT_CACHE_NAME); return internalCache.isNear() ? ((GridNearCacheAdapter<Integer, String>)internalCache).dht().topology() : internalCache.context().dht().topology(); }
/** * @return DHT cache. */ protected <K, V> GridDhtCacheAdapter<K, V> dht() { GridCacheAdapter<K, V> internalCache = ((IgniteKernal)grid()).internalCache(DEFAULT_CACHE_NAME); return internalCache.isNear() ? internalCache.context().near().dht() : internalCache.context().dht(); }
/** * @param idx Grid index. * @param cache Cache name. * @return DHT cache. */ protected <K, V> GridDhtCacheAdapter<K, V> dht(int idx, String cache) { GridCacheAdapter<K, V> internalCache = ((IgniteKernal)grid(idx)).internalCache(cache); return internalCache.isNear() ? internalCache.context().near().dht() : internalCache.context().dht(); }
/** * @param idx Grid index. * @return DHT cache. */ protected <K, V> GridDhtCacheAdapter<K, V> dht(int idx) { GridCacheAdapter<K, V> internalCache = ((IgniteKernal)grid(idx)).internalCache(DEFAULT_CACHE_NAME); return internalCache.isNear() ? internalCache.context().near().dht() : internalCache.context().dht(); }
@Override public boolean apply() { for (IgniteKernal g : grids) { GridCacheAdapter<?, ?> cache = g.internalCache(DEFAULT_CACHE_NAME); IgniteTxManager txMgr = cache.isNear() ? ((GridNearCacheAdapter)cache).dht().context().tm() : cache.context().tm(); int txNum = txMgr.idMapSize(); if (txNum != 0) return false; } return true; } }, 10000);
@Override public boolean apply() { for (IgniteKernal g : grids) { GridCacheAdapter<?, ?> cache = g.internalCache(DEFAULT_CACHE_NAME); IgniteTxManager txMgr = cache.isNear() ? ((GridNearCacheAdapter)cache).dht().context().tm() : cache.context().tm(); int txNum = txMgr.idMapSize(); if (txNum != 0) return false; } return true; } }, 10000);
if (cache.isNear()) { entry = ((GridNearCacheAdapter)cache).dht().peekEx(key);
if (cacheAdapter.isNear()) { GridDhtCacheEntry entry = (GridDhtCacheEntry) ((GridNearCacheAdapter<Object, Object>)cacheAdapter).dht().peekEx(i);
if (cache.isNear()) { entry = ((GridNearCacheAdapter)cache).dht().map().getEntry(cache.context(), cache.context().toCacheKeyObject(key));
if (e == null && cache0.isNear()) e = ((GridNearCacheAdapter)cache0).dht().peekEx(key);
if (e == null && cache0.isNear()) e = ((GridNearCacheAdapter)cache0).dht().peekEx(key);