@Override public void txLRUEnd() { this.entries.enableLruUpdateCallback(); try { this.entries.lruUpdateCallback(); } catch (DiskAccessException dae) { handleDiskAccessException(dae); throw dae; } }
public GatewaySenderEventImpl addEvent(Object key) { this.bucketRegionQueue.getEventTracker().setInitialized(); this.bucketRegionQueue.entries.disableLruUpdateCallback(); GatewaySenderEventImpl event = mock(GatewaySenderEventImpl.class); this.bucketRegionQueue.entries.initialImagePut(key, 0, event, false, false, null, null, false); this.bucketRegionQueue.entries.enableLruUpdateCallback(); return event; }
private void updateEventWithCurrentRegionEntry(EntryEventImpl event, EntryEventImpl clientEvent) { // defer the lruUpdateCallback to prevent a deadlock (see bug 51121). final boolean disabled = this.entries.disableLruUpdateCallback(); try { RegionEntry re = getRegionEntry(event.getKey()); if (re != null) { synchronized (re) { // bug #51059 value & version must be obtained atomically // Update client event with latest version tag from re if (clientEvent != null) { clientEvent.setVersionTag(re.getVersionStamp().asVersionTag()); } // OFFHEAP: need to incrc, copy to heap to setNewValue, decrc event.setNewValue(re.getValue(this)); } } } finally { if (disabled) { this.entries.enableLruUpdateCallback(); } try { this.entries.lruUpdateCallback(); } catch (DiskAccessException dae) { this.handleDiskAccessException(dae); throw dae; } } }
} finally { if (disabledLRUCallback) { this.entries.enableLruUpdateCallback(); this.entries.lruUpdateCallback();
this.entries.enableLruUpdateCallback();