@Override final boolean confirmEvictionDestroy(RegionEntry re) { // We assume here that a LRURegionMap contains LRUEntries LRUEntry lruRe = (LRUEntry) re; if (lruRe.isInUseByTransaction() || lruRe.isDestroyed()) { lruRe.unsetEvicted(); return false; } else { return true; } } }
@Override final boolean confirmEvictionDestroy(RegionEntry re) { // We assume here that a LRURegionMap contains LRUEntries LRUEntry lruRe = (LRUEntry) re; // TODO: TX: currently skip LRU processing for a transactionally locked // entry since value is already in TXState so no use of evicting it until we // have on-disk TXStates if (ExclusiveSharedSynchronizer.isWrite(lruRe.getState()) || lruRe.isDestroyed()) { lruRe.unsetEvicted(); return false; } else { return true; } }
/** Called by DiskEntry.Helper.faultInValue */ @Override public final void lruEntryFaultIn(LRUEntry e) { if (logger.isDebugEnabled()) { logger.debug("lruEntryFaultIn for key={} size={}", e.getKey(), e.getEntrySize()); } NewLRUClockHand lruList = _getLruList(); if (_isOwnerALocalRegion()) { DiskRegion disk = _getOwner().getDiskRegion(); boolean possibleClear = disk != null && disk.didClearCountChange(); if (!possibleClear || this._getOwner().basicGetEntry(e.getKey()) == e) { lruEntryUpdate(e); e.unsetEvicted(); lruList.appendEntry(e); } } else { lruEntryUpdate(e); lruList.appendEntry(e); } }
@Override protected final void lruEntryCreate(RegionEntry re) { LRUEntry e = (LRUEntry)re; // Assert.assertFalse(e._getValue() instanceof DiskEntry.RecoveredEntry) if (logger.isTraceEnabled(LogMarker.LRU)) { logger.trace(LogMarker.LRU, "lruEntryCreate for key={}; list size is: {}; actual size is: {}; map size is: {}; entry size: {}; in lru clock: {}", re.getKey(), getTotalEntrySize(), this._getLruList().getExpensiveListCount(), size(), e.getEntrySize(), !e.testEvicted()); } // this.lruCreatedKey = re.getKey(); // [ bruce ] for DEBUGGING only e.unsetEvicted(); NewLRUClockHand lruList = _getLruList(); DiskRegion disk = _getOwner().getDiskRegion(); boolean possibleClear = disk != null && disk.didClearCountChange(); if(!possibleClear || this._getOwner().basicGetEntry(re.getKey()) == re ) { lruList.appendEntry(e); lruEntryUpdate(e); } }
synchronized (entry) { if (entry.isInUseByTransaction()) { entry.unsetEvicted(); if (logger.isTraceEnabled(LogMarker.LRU)) { logger.trace(LogMarker.LRU, "No eviction of transactional entry for key={}", entry.getKey());
/** Called by DiskEntry.Helper.faultInValue */ @Override public final void lruEntryFaultIn(LRUEntry e) { if (debug) debugLogging("lruEntryFaultIn for key=" + e.getKeyCopy() + " size=" + e.getEntrySize()); NewLRUClockHand lruList = _getLruList(); if (_isOwnerALocalRegion()) { LocalRegion owner = _getOwner(); DiskRegion disk = owner.getDiskRegion(); boolean possibleClear = disk != null && disk.didClearCountChange(); if (!possibleClear || owner.basicGetEntry(e.getKey()) == e) { lruEntryUpdate(e); e.unsetEvicted(); lruList.appendEntry(e); } } else { lruEntryUpdate(e); lruList.appendEntry(e); } lruList.stats().incFaultins(); }
@Override protected final void lruEntryCreate(RegionEntry re) { LRUEntry e = (LRUEntry)re; // Assert.assertFalse(e._getValue() instanceof DiskEntry.RecoveredEntry) if ( debug ) { debugLogging( "lruEntryCreate for key=" + re.getKeyCopy() + "; list size is: " + getTotalEntrySize() + "; actual size is: " + this._getLruList().getExpensiveListCount() + "; map size is: " + sizeInVM() + "; entry size: " + e.getEntrySize() + "; in lru clock: " + !e.testEvicted()); } // this.lruCreatedKey = re.getKey(); // [ bruce ] for DEBUGGING only e.unsetEvicted(); NewLRUClockHand lruList = _getLruList(); DiskRegion disk = _getOwner().getDiskRegion(); boolean possibleClear = disk != null && disk.didClearCountChange(); if(!possibleClear || this._getOwner().basicGetEntry(re.getKey()) == re ) { lruList.appendEntry(e); lruEntryUpdate(e); } }
LRUEntry le = (LRUEntry)entry; boolean wasEvicted = le.testEvicted(); le.unsetEvicted(); if (!Token.isRemovedFromDisk(newValue)) { if (oldValue == null
LRUEntry le = (LRUEntry)entry; boolean wasEvicted = le.testEvicted(); le.unsetEvicted(); if (!Token.isRemovedFromDisk(newValue)) { if (oldValue == null