/** {@inheritDoc} */ @Override public boolean isNew() throws GridCacheEntryRemovedException { assert lock.isHeldByCurrentThread(); checkObsolete(); return isStartVersion(); }
/** {@inheritDoc} */ @Override public CacheObject valueBytes() throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); return this.val; } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public GridCacheVersion version() throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); return ver; } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Nullable @Override public CacheObject valueBytes(@Nullable GridCacheVersion ver) throws IgniteCheckedException, GridCacheEntryRemovedException { CacheObject val = null; lockEntry(); try { checkObsolete(); if (ver == null || this.ver.equals(ver)) val = this.val; } finally { unlockEntry(); } return val; }
/** {@inheritDoc} */ @Override public boolean isNewLocked() throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); return isStartVersion(); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public Collection<GridCacheMvccCandidate> localCandidates(GridCacheVersion... exclude) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc == null ? Collections.<GridCacheMvccCandidate>emptyList() : mvcc.localCandidates(exclude); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Nullable @Override public GridCacheMvccCandidate candidate(GridCacheVersion ver) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc == null ? null : mvcc.candidate(ver); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public boolean hasLockCandidate(GridCacheVersion ver) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc != null && mvcc.hasCandidate(ver); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public boolean lockedByThread(long threadId) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc != null && mvcc.isLocallyOwnedByThread(threadId, true); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public GridCacheMvccCandidate localOwner() throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc == null ? null : mvcc.localOwner(); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public boolean hasLockCandidate(long threadId) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc != null && mvcc.localCandidate(threadId) != null; } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public boolean lockedBy(GridCacheVersion ver) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc != null && mvcc.isOwnedBy(ver); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Nullable @Override public CacheObject mvccPeek(boolean onheapOnly) throws GridCacheEntryRemovedException, IgniteCheckedException { if (onheapOnly) return null; lockEntry(); try { checkObsolete(); CacheDataRow row = cctx.offheap().mvccRead(cctx, key, MVCC_MAX_SNAPSHOT); return row != null ? row.value() : null; } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public boolean lockedLocally(GridCacheVersion lockVer) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc != null && mvcc.isLocallyOwned(lockVer); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public GridCacheMvccCandidate localCandidate(long threadId) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc == null ? null : mvcc.localCandidate(threadId); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public boolean lockedByAny(GridCacheVersion... exclude) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc != null && !mvcc.isEmpty(exclude); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public boolean lockedByThread(long threadId, GridCacheVersion exclude) throws GridCacheEntryRemovedException { lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc != null && mvcc.isLocallyOwnedByThread(threadId, false, exclude); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public GridCacheMvccCandidate candidate(UUID nodeId, long threadId) throws GridCacheEntryRemovedException { boolean loc = cctx.nodeId().equals(nodeId); lockEntry(); try { checkObsolete(); GridCacheMvcc mvcc = mvccExtras(); return mvcc == null ? null : loc ? mvcc.localCandidate(threadId) : mvcc.remoteCandidate(nodeId, threadId); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public long expireTime() throws GridCacheEntryRemovedException { IgniteTxLocalAdapter tx = currentTx(); if (tx != null) { long time = tx.entryExpireTime(txKey()); if (time > 0) return time; } lockEntry(); try { checkObsolete(); return expireTimeExtras(); } finally { unlockEntry(); } }
/** {@inheritDoc} */ @Override public void updateIndex(SchemaIndexCacheFilter filter, SchemaIndexCacheVisitorClosure clo) throws IgniteCheckedException, GridCacheEntryRemovedException { lockEntry(); try { if (isInternal()) return; checkObsolete(); CacheDataRow row = cctx.offheap().read(this); if (row != null && (filter == null || filter.apply(row))) clo.apply(row); } finally { unlockEntry(); } }