lockEntry(); checkObsolete(); boolean hasVal = hasValueUnlocked(); if (this.dhtVer == null || this.dhtVer.compareTo(dhtVer) < 0 || !valid(topVer)) { primaryNode(primaryNodeId, topVer); update(val, expireTime, ttl, ver, true); if (cctx.deferredDelete() && !isInternal()) { boolean deleted = val == null; if (deleted != deletedUnlocked()) { deletedUnlocked(deleted); partition(), key, tx, unlockEntry();
@Override public GridCacheMapEntry create( GridCacheContext ctx, AffinityTopologyVersion topVer, KeyCacheObject key ) { return new GridNearCacheEntry(ctx, key); } };
/** {@inheritDoc} */ @Override public GridCacheMvccCandidate addLocal( long threadId, GridCacheVersion ver, AffinityTopologyVersion topVer, long timeout, boolean reenter, boolean tx, boolean implicitSingle, boolean read) throws GridCacheEntryRemovedException { return addNearLocal( null, threadId, ver, topVer, timeout, reenter, tx, implicitSingle, read ); }
/** * @throws GridCacheEntryRemovedException If entry was removed. */ void reserveEviction() throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); evictReservations++; } finally { unlockEntry(); } }
/** * @param ver Version to set DHT node ID for. * @param dhtNodeId DHT node ID. * @return {@code true} if candidate was found. * @throws GridCacheEntryRemovedException If entry is removed. */ @Nullable public GridCacheMvccCandidate dhtNodeId(GridCacheVersion ver, UUID dhtNodeId) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); GridCacheMvccCandidate cand = mvcc == null ? null : mvcc.candidate(ver); if (cand == null) return null; cand.otherNodeId(dhtNodeId); return cand; } finally { unlockEntry(); } }
ClusterNode primaryNode = cctx.affinity().primaryByKey(key, topVer); lockEntry(); checkObsolete(); if (isNew() || !valid(topVer)) { update(e.value(), e.expireTime(), e.ttl(), e.isNew() ? ver : e.version(), true); if (cctx.deferredDelete() && !isNew() && !isInternal()) { boolean deleted = val == null; if (deleted != deletedUnlocked()) { deletedUnlocked(deleted); this.topVer = AffinityTopologyVersion.NONE; else recordNodeId(primaryNode.id(), topVer); unlockEntry();
lockEntry(); GridCacheMvcc mvcc = mvccExtras(); checkCallbacks(emptyBefore, emptyAfter); mvccExtras(null); unlockEntry(); checkThreadChain(cand); checkOwnerChanged(prev, owner, val);
lockEntry(); checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); mvccExtras(mvcc); checkCallbacks(emptyBefore, emptyAfter); mvccExtras(null); else owner = mvcc.allOwners(); unlockEntry(); checkOwnerChanged(prev, owner, val);
lockEntry(); checkObsolete(); primaryNode(primaryNodeId, topVer); value(val); unlockEntry();
entry.addRemote( req.nodeId(), nodeId, tx != null, tx != null && tx.implicitSingle(), req.owned(entry.key()) ); entry.touch(); assert entry.obsoleteVersion() != null : "Obsolete flag not set on removed entry: " + entry;
cached.unswap(); CacheObject peek = cached.peek(); if (peek == null && cached.evictInternal(xidVer, null, false)) { cached.context().cache().removeIfObsolete(key.key());
assertEquals("Non-equal versions for key: " + key, ver, e instanceof GridNearCacheEntry ? ((GridNearCacheEntry)e).dhtVersion() : e.version()); ver = e instanceof GridNearCacheEntry ? ((GridNearCacheEntry)e).dhtVersion() : e.version();
GridCacheMvccCandidate c = entry.addNearLocal( dhtNodeId, threadId, IgniteTxEntry txEntry = tx.entry(entry.txKey()); entry.removeLock(lockVer);
reserved.releaseEviction(); if (reserved.markObsolete(obsolete)) reserved.context().cache().removeEntry(reserved);
ClusterNode primaryNode = cctx.affinity().primaryByKey(key, topVer); lockEntry(); checkObsolete(); if (isNew() || !valid(topVer)) { update(e.value(), e.expireTime(), e.ttl(), e.isNew() ? ver : e.version(), true); if (cctx.deferredDelete() && !isNew() && !isInternal()) { boolean deleted = val == null; if (deleted != deletedUnlocked()) { deletedUnlocked(deleted); this.topVer = AffinityTopologyVersion.NONE; else recordNodeId(primaryNode.id(), topVer); unlockEntry();
lockEntry(); GridCacheMvcc mvcc = mvccExtras(); checkCallbacks(emptyBefore, emptyAfter); mvccExtras(null); unlockEntry(); checkThreadChain(cand); checkOwnerChanged(prev, owner, val);
lockEntry(); checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); mvccExtras(mvcc); checkCallbacks(emptyBefore, emptyAfter); mvccExtras(null); else owner = mvcc.allOwners(); unlockEntry(); checkOwnerChanged(prev, owner, val);
/** * @return DHT version for this entry. * @throws GridCacheEntryRemovedException If obsolete. */ @Nullable public GridCacheVersion dhtVersion() throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); return dhtVer; } finally { unlockEntry(); } }