public final void removeIfDelta(Object key) { RegionEntry re = getEntry(key); if (re != null) { LocalRegion owner = _getOwner(); if (reHasDelta(owner, re)) { synchronized (re) { re.removePhase2(owner); removeEntry(key, re, true); } } } }
public final void removeIfDestroyed(Object key) { LocalRegion owner = _getOwner(); // boolean makeTombstones = owner.concurrencyChecksEnabled; DiskRegion dr = owner.getDiskRegion(); RegionEntry re = getEntry(key); if (re != null) { if (re.isDestroyed()) { synchronized (re) { if (re.isDestroyed()) { // [bruce] destroyed entries aren't in the LRU clock, so they can't be retained here // if (makeTombstones) { // re.makeTombstone(owner, re.getVersionStamp().asVersionTag()); // } else { re.removePhase2(); removeEntry(key, re, true); } } } } // } }
public final void removeIfDestroyed(Object key) { LocalRegion owner = _getOwner(); // boolean makeTombstones = owner.concurrencyChecksEnabled; DiskRegion dr = owner.getDiskRegion(); RegionEntry re = getEntry(key); if (re != null) { if (re.isDestroyed()) { synchronized (re) { if (re.isDestroyed()) { // [bruce] destroyed entries aren't in the LRU clock, so they can't be retained here // if (makeTombstones) { // re.makeTombstone(owner, re.getVersionStamp().asVersionTag()); // } else { re.removePhase2(owner); removeEntry(key, re, true); } } } } // } }
re.removePhase1(owner, false); // fix for bug 43063 re.removePhase2(); removeEntry(key, re, true, sqlfEvent, owner, indexUpdater); } else { if (shouldPerformConcurrencyChecks(owner, cbEvent) && cbEvent.getVersionTag() != null) { re.removePhase1(owner, false); // fix for bug 43063 re.removePhase2(); removeEntry(key, re, false); removeEntry(key, oldRe, false); removeEntry(key, newRe, false);
removeEntry(event.getKey(),re, true, destroyEvent,owner, indexUpdater); removeEntry(event.getKey(),re, true, destroyEvent,owner, null);
removeEntry(event.getKey(), newRe, false); removeEntry(event.getKey(), newRe, false); assert newRe != tombstone; newRe.setValue(owner, Token.REMOVED_PHASE2); removeEntry(event.getKey(), newRe, false); } catch (RegionClearedException e) { if ( re.getVersionStamp() == null) { re.removePhase2(); removeEntry(event.getKey(), re, true, event, owner, indexUpdater); removed = true; if (re.getVersionStamp() == null) { re.removePhase2(); removeEntry(event.getKey(), re, true, event, owner, indexUpdater); lruEntryDestroy(re); if (re.isRemoved() && !re.isTombstone()) { if (!removed) { removeEntry(event.getKey(), re, true, event, owner, indexUpdater);
if (!opCompleted && !haveTombstone && event.getOperation() == Operation.REMOVE) { removeEntry(event.getKey(), newRe, false); removeEntry(event.getKey(), newRe, false); assert newRe != tombstone; newRe.setValue(owner, Token.REMOVED_PHASE2); removeEntry(event.getKey(), newRe, false); } catch (RegionClearedException e) { re.removePhase2(owner); removeEntry(event.getKey(), re, true); removed = true; re.removePhase2(owner); removeEntry(event.getKey(), re, true); lruEntryDestroy(re); } else { if (!removed) { removeEntry(event.getKey(), re, true);
removeEntry(key, newRe, false);
re.removePhase1(owner, false); // fix for bug 43063 re.removePhase2(owner); removeEntry(key, re, true);
removeEntry(event.getKey(), newRe, false); } finally { if (!opCompleted) { removeEntry(event.getKey(), newRe, false);
removeEntry(key, newRe, false);
if (isLockedForTXCacheMod) { if (!opCompleted && (entryCreated || re.isMarkedForEviction())) { removeEntry(key, re, false); removeEntry(cbEvent.getKey(), re, true, destroyEvent, owner, indexUpdater);
removeEntry(key, newRe, false); if (owner.getIndexManager() != null) { owner.getIndexManager().updateIndexes(newRe, IndexManager.REMOVE_ENTRY, IndexProtocol.OTHER_OP);
removeEntry(event.getKey(), newRe, false); } finally { if (!opCompleted) { removeEntry(event.getKey(), newRe, false);
removeEntry(key, newRe, false);
removeEntry(event.getKey(),re, true, destroyEvent,owner, indexUpdater); removeEntry(event.getKey(),re, true, destroyEvent,owner, null);