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 removeEntry(Object key, RegionEntry re, boolean updateStat) { if (re.isTombstone() && _getMap().get(key) == re && !re.isMarkedForEviction()){ logger.fatal(LocalizedMessage.create(LocalizedStrings.AbstractRegionMap_ATTEMPT_TO_REMOVE_TOMBSTONE), new Exception("stack trace")); return; // can't remove tombstones except from the tombstone sweeper } if (_getMap().remove(key, re)) { re.removePhase2(); if (updateStat) { incEntryCount(-1); } } }
public final void removeEntry(Object key, RegionEntry re, boolean updateStat) { final LocalRegion owner = _getOwner(); if (re.isTombstone() && _getMap().get(key) == re && !re.isMarkedForEviction()) { owner.getLogWriterI18n().severe(LocalizedStrings.AbstractRegionMap_ATTEMPT_TO_REMOVE_TOMBSTONE, key, new Exception("stack trace")); return; // can't remove tombstones except from the tombstone sweeper } // _getOwner().getLogWriterI18n().info(LocalizedStrings.DEBUG, "DEBUG: removing entry " + re, new Exception("stack trace")); if (_getMap().remove(key, re)) { re.removePhase2(owner); if (updateStat) { incEntryCount(-1); } } }
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); } } } } // } }
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); } } } } // } }
re.removePhase2(); success = true; if (updateStat) {
public void handleRegionEntry(RegionEntry re) { DiskEntry de = (DiskEntry)re; DiskId id = de.getDiskId(); if (id != null) { synchronized (id) { // GemFireXD: give a chance to copy key from value bytes when key // is just a pointer to value row re.setValueToNull(region); // TODO why call _setValue twice in a row? re.removePhase2(region); id.unmarkForWriting(); if (EntryBits.isNeedsValue(id.getUserBits())) { long oplogId = id.getOplogId(); long offset = id.getOffsetInOplog(); //int length = id.getValueLength(); if (oplogId != -1 && offset != -1) { id.setOplogId(-1); OverflowOplog oplog = getDiskStore().overflowOplogs.getChild((int)oplogId); if (oplog != null) { oplog.freeEntry(de); } } } } } } });
public void handleRegionEntry(RegionEntry re) { DiskEntry de = (DiskEntry)re; DiskId id = de.getDiskId(); if (id != null) { synchronized (id) { // SQLFabric: give a chance to copy key from value bytes when key // is just a pointer to value row re.setValueToNull(); // TODO why call _setValue twice in a row? re.removePhase2(); id.unmarkForWriting(); if (EntryBits.isNeedsValue(id.getUserBits())) { long oplogId = id.getOplogId(); long offset = id.getOffsetInOplog(); //int length = id.getValueLength(); if (oplogId != -1 && offset != -1) { id.setOplogId(-1); OverflowOplog oplog = getDiskStore().overflowOplogs.getChild((int)oplogId); if (oplog != null) { oplog.freeEntry(de); } } } } } } });
re.removePhase2(); lruEntryDestroy(re); if (tombstone) {
re.removePhase2(owner); success = true; if (updateStat) {
if (sqlfEvent != null) { re.removePhase1(owner, false); // fix for bug 43063 re.removePhase2(); removeEntry(key, re, true, sqlfEvent, owner, indexUpdater); } else { } else { re.removePhase1(owner, false); // fix for bug 43063 re.removePhase2(); removeEntry(key, re, false); oldRe.removePhase2(); removeEntry(key, oldRe, false); newRe.removePhase2(); removeEntry(key, newRe, false);
re.removePhase2(lr); lruEntryDestroy(re); if (tombstone) {
re.removePhase2(owner); removeEntry(key, re, true);
re.removePhase2(); removeEntry(event.getKey(), re, true, event, owner, indexUpdater); owner.recordEvent(event); if (re.getVersionStamp() == null) { re.removePhase2(); removeEntry(event.getKey(), re, true, event, owner, indexUpdater);
re.removePhase2(owner); owner.recordEvent(event); if (re.getVersionStamp() == null) { re.removePhase2(owner);