/** {@inheritDoc} */ @Override public void onDeferredDelete(GridCacheEntryEx entry, GridCacheVersion ver) { assert entry.isDht(); GridDhtLocalPartition part = topology().localPartition(entry.partition(), AffinityTopologyVersion.NONE, false); if (part != null) part.onDeferredDelete(entry.context().cacheId(), entry.key(), ver); }
/** {@inheritDoc} */ @Override public void touch(GridCacheEntryEx e) { if (e.detached()) return; try { boolean evicted = e.evictInternal(GridCacheVersionManager.EVICT_VER, null, false) || e.markObsoleteIfEmpty(null); if (evicted && !e.isDht()) // GridDhtCacheEntry removes entry when obsoleted. cctx.cache().removeEntry(e); } catch (IgniteCheckedException ex) { U.error(log, "Failed to evict entry from cache: " + e, ex); } }
/** {@inheritDoc} */ @Override public boolean isLockedByThread(K key) { A.notNull(key, "key"); if (keyCheck) validateCacheKey(key); try { KeyCacheObject cacheKey = ctx.toCacheKeyObject(key); GridCacheEntryEx e = entry0(cacheKey, ctx.shared().exchange().readyAffinityVersion(), false, false); if (e == null) return false; // Delegate to near if dht. if (e.isDht() && CU.isNearEnabled(ctx)) { IgniteInternalCache<K, V> near = ctx.isDht() ? ctx.dht().near() : ctx.near(); return near.isLockedByThread(key) || e.lockedByThread(); } return e.lockedByThread(); } catch (GridCacheEntryRemovedException ignore) { return false; } }
if (cached0.isDht()) nodes = cacheCtx.topology().nodes(cached0.partition(), topVer); else
/** {@inheritDoc} */ @Override public void touch(GridCacheEntryEx e, AffinityTopologyVersion topVer) { if (e.detached()) return; try { boolean evicted = e.evictInternal(GridCacheVersionManager.EVICT_VER, null, false) || e.markObsoleteIfEmpty(null); if (evicted && !e.isDht()) // GridDhtCacheEntry removes entry when obsoleted. cctx.cache().removeEntry(e); } catch (IgniteCheckedException ex) { U.error(log, "Failed to evict entry from cache: " + e, ex); } }
/** {@inheritDoc} */ @Override public void onDeferredDelete(GridCacheEntryEx entry, GridCacheVersion ver) { assert entry.isDht(); GridDhtLocalPartition part = topology().localPartition(entry.partition(), AffinityTopologyVersion.NONE, false); if (part != null) part.onDeferredDelete(entry.context().cacheId(), entry.key(), ver); }
/** {@inheritDoc} */ @Override public boolean isLockedByThread(K key) { A.notNull(key, "key"); if (keyCheck) validateCacheKey(key); try { KeyCacheObject cacheKey = ctx.toCacheKeyObject(key); GridCacheEntryEx e = entry0(cacheKey, ctx.shared().exchange().readyAffinityVersion(), false, false); if (e == null) return false; // Delegate to near if dht. if (e.isDht() && CU.isNearEnabled(ctx)) { IgniteInternalCache<K, V> near = ctx.isDht() ? ctx.dht().near() : ctx.near(); return near.isLockedByThread(key) || e.lockedByThread(); } return e.lockedByThread(); } catch (GridCacheEntryRemovedException ignore) { return false; } }
if (cached0.isDht()) nodes = cacheCtx.topology().nodes(cached0.partition(), topVer); else