/** {@inheritDoc} */ @Override public long expireTimeUnlocked() { assert lock.isHeldByCurrentThread(); return expireTimeExtras(); }
/** {@inheritDoc} */ @Override public long rawExpireTime() { lockEntry(); try { return expireTimeExtras(); } finally { unlockEntry(); } }
/** * TODO: IGNITE-3500: do we need to generate event and invalidate value? * * @return {@code true} if expired. * @throws IgniteCheckedException In case of failure. */ private boolean checkExpired() throws IgniteCheckedException { assert lock.isHeldByCurrentThread(); long expireTime = expireTimeExtras(); if (expireTime > 0) { long delta = expireTime - U.currentTimeMillis(); if (delta <= 0) { if (cctx.mvccEnabled()) cctx.offheap().mvccRemoveAll(this); else removeValue(); return true; } } return false; }
/** {@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(); } }
/** * @param val New value. * @param expireTime Expiration time. * @param ttl Time to live. * @param ver Update version. */ protected final void update(@Nullable CacheObject val, long expireTime, long ttl, GridCacheVersion ver, boolean addTracked) { assert ver != null; assert lock.isHeldByCurrentThread(); assert ttl != CU.TTL_ZERO && ttl != CU.TTL_NOT_CHANGED && ttl >= 0 : ttl; boolean trackNear = addTracked && isNear() && cctx.config().isEagerTtl(); long oldExpireTime = expireTimeExtras(); if (trackNear && oldExpireTime != 0 && (expireTime != oldExpireTime || isStartVersion())) cctx.ttl().removeTrackedEntry((GridNearCacheEntry)this); value(val); ttlAndExpireTimeExtras(ttl, expireTime); this.ver = ver; flags &= ~IS_EVICT_DISABLED; if (trackNear && expireTime != 0 && (expireTime != oldExpireTime || isStartVersion())) cctx.ttl().addTrackedEntry((GridNearCacheEntry)this); }
expireTime = CU.toExpireTime(ttl); if (entry.expireTimeExtras() != expireTime) { entry.update(entry.val, expireTime, ttl, entry.ver, true); storeLoadedVal, newVer, entry.expireTimeExtras(), oldRow);
/** {@inheritDoc} */ @Override public GridCacheVersionedEntryEx versionedEntry(final boolean keepBinary) throws IgniteCheckedException, GridCacheEntryRemovedException { lockEntry(); try { boolean isNew = isStartVersion(); if (isNew) unswap(null, false); CacheObject val = this.val; return new GridCacheLazyPlainVersionedEntry<>(cctx, key, val, ttlExtras(), expireTimeExtras(), ver.conflictVersion(), isNew, keepBinary); } finally { unlockEntry(); } }
else { ttl = ttlExtras(); expireTime = expireTimeExtras();
/** {@inheritDoc} */ @Nullable @Override public GridCacheEntryInfo info() { GridCacheEntryInfo info = null; lockEntry(); try { if (!obsolete()) { info = new GridCacheEntryInfo(); info.key(key); info.cacheId(cctx.cacheId()); long expireTime = expireTimeExtras(); boolean expired = expireTime != 0 && expireTime <= U.currentTimeMillis(); info.ttl(ttlExtras()); info.expireTime(expireTime); info.version(ver); info.setNew(isStartVersion()); info.setDeleted(deletedUnlocked()); if (!expired) info.value(val); } } finally { unlockEntry(); } return info; }
long expireTime = expireTimeExtras();
expTime = expireTimeExtras();
unswap(null, false); long expireTime = expireTimeExtras();
entry.val, entry.ttlExtras(), entry.expireTimeExtras(), entry.ver.conflictVersion(), entry.isStartVersion(),
newSysExpireTime = CU.EXPIRE_TIME_CALCULATE; newTtl = entry.ttlExtras(); newExpireTime = entry.expireTimeExtras();
long expireTime = expireTimeExtras();
if (expireTimeExtras() > 0 && expireTimeExtras() < U.currentTimeMillis()) { if (onExpired(val, null)) { assert !deletedUnlocked(); expireTime = expireTimeExtras(); expireTime = expireTimeExtras();
if (ttl == -1L) { ttl = ttlExtras(); expireTime = expireTimeExtras();
expireTime = entry.expireTimeExtras();
expireTime = expireTimeExtras();
/** {@inheritDoc} */ @Override public long rawExpireTime() { lockEntry(); try { return expireTimeExtras(); } finally { unlockEntry(); } }