/** {@inheritDoc} */ @Override protected void updateExplicitVersion(IgniteTxEntry txEntry, GridCacheEntryEx entry) throws GridCacheEntryRemovedException { if (entry.detached()) { GridCacheMvccCandidate cand = cctx.mvcc().explicitLock(threadId(), entry.txKey()); if (cand != null && !xidVersion().equals(cand.version())) { GridCacheVersion candVer = cand.version(); txEntry.explicitVersion(candVer); if (candVer.isLess(minVer)) minVer = candVer; } } else super.updateExplicitVersion(txEntry, entry); }
/** {@inheritDoc} */ @Override public void close() throws IgniteCheckedException { super.close(); if (accessMap != null) { assert optimistic(); for (Map.Entry<IgniteTxKey, IgniteCacheExpiryPolicy> e : accessMap.entrySet()) { if (e.getValue().entries() != null) { GridCacheContext cctx0 = cctx.cacheContext(e.getKey().cacheId()); if (cctx0.isNear()) cctx0.near().dht().sendTtlUpdateRequest(e.getValue()); else cctx0.dht().sendTtlUpdateRequest(e.getValue()); } } accessMap = null; } }