if (!possibleClear || this._getOwner().basicGetEntry(re.getKey()) == re) { if (e instanceof DiskEntry) { if (!e.testEvicted()) { lruList.appendEntry(e); if (!e.testEvicted()) { lruList.appendEntry(e);
@Override protected final void lruEntryUpdate(RegionEntry re ) { final LRUEntry e = (LRUEntry)re; setDelta(e.updateEntrySize(_getCCHelper())); if (debug) debugLogging("lruEntryUpdate for key=" + re.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(re.getKey()) == re) { if (e instanceof DiskEntry) { if (!e.testEvicted()) { lruList.appendEntry(e); } } //e.resetRefCount(lruList); } } else { // We are recovering the region so it is a DiskEntry. // Also clear is not yet possible and this entry will be in the region. // No need to call resetRefCount since tx are not yet possible. if (!e.testEvicted()) { lruList.appendEntry(e); } } } @Override
le = (LRUEntry)re; if (re instanceof DiskEntry) { if (le.testEvicted()) {
@Override protected final void lruEntryDestroy(RegionEntry re) { final LRUEntry e = (LRUEntry)re; if (logger.isTraceEnabled(LogMarker.LRU)) { logger.trace(LogMarker.LRU, "lruEntryDestroy 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()); } // if (this.lruCreatedKey == re.getKey()) { // String method = Thread.currentThread().getStackTrace()[5].getMethodName(); // } // boolean wasEvicted = e.testEvicted(); /*boolean removed = */_getLruList().unlinkEntry(e); // if (removed || wasEvicted) { // evicted entries have already been removed from the list changeTotalEntrySize(-1 * e.getEntrySize());// subtract the size. Token vTok = re.getValueAsToken(); if (vTok == Token.DESTROYED || vTok == Token.TOMBSTONE) { // OFFHEAP noop TODO: use re.isDestroyedOrTombstone // if in token mode we need to recalculate the size of the entry since it's // staying in the map and may be resurrected e.updateEntrySize(_getCCHelper()); } // } else if (debug) { // debugLogging("entry not removed from LRU list"); // } } /** Called by DiskEntry.Helper.faultInValue
@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); } }
if (re instanceof DiskEntry && re instanceof LRUEntry) { LRUEntry le = (LRUEntry)re; if (le.testEvicted()) {
+ "; map size is: " + sizeInVM() + "; entry size: " + e.getEntrySize() + "; in lru clock: " + !e.testEvicted());
@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); } }
assert !le.testEvicted();
assert !le.testEvicted();
boolean evicted = ((LRUEntry)entry).testEvicted(); if (evicted) { if (!dr.isBackup()) {
boolean evicted = ((LRUEntry)entry).testEvicted(); if (evicted) { if (!dr.isBackup()) {
&& !Token.isInvalid(entryVal) && entry instanceof LRUEntry && ((LRUEntry)entry).testEvicted()) {
&& !Token.isInvalid(entryVal) && entry instanceof LRUEntry && ((LRUEntry)entry).testEvicted()) {
&& (entryVal != Token.TOMBSTONE) && entry instanceof LRUEntry && ((LRUEntry)entry).testEvicted()) {
&& (entryVal != Token.TOMBSTONE) && entry instanceof LRUEntry && ((LRUEntry)entry).testEvicted()) {
boolean wasEvicted = le.testEvicted(); le.unsetEvicted(); if (!Token.isRemovedFromDisk(newValue)) {
boolean wasEvicted = le.testEvicted(); le.unsetEvicted(); if (!Token.isRemovedFromDisk(newValue)) {