@Override public int calculateRegionEntryValueSize(RegionEntry re) { return calcMemSize(re._getValue()); // OFFHEAP _getValue ok }
@Unretained Object ov = re._getValue(); if (ov instanceof GatewaySenderEventImpl) { event.setOldValue(ov, true);
@Override public int calculateRegionEntryValueSize(RegionEntry re) { return calcMemSize(re._getValue()); // OFFHEAP _getValue ok }
@Unretained Object ov = re._getValue(); // OFFHEAP _getValue is ok since re is synced and we only use it if its a GatewaySenderEventImpl.
public void removeRegionFromOldEntryMap(String regionPath) { synchronized (this.oldEntryMap) { Map<Object, BlockingQueue<RegionEntry>> map = oldEntryMap.remove(regionPath); if (GemFireCacheImpl.hasNewOffHeap() && map != null) { for (BlockingQueue<RegionEntry> values : map.values()) { if (values != null) { for (RegionEntry re : values) { Object value = re._getValue(); if (value instanceof SerializedDiskBuffer) { ((SerializedDiskBuffer)value).release(); } } } } } } }
private void basicGetRegionLiveChunks(LocalRegion r, List<Chunk> result) { for (Object key : r.keySet()) { RegionEntry re = ((LocalRegion) r).getRegionEntry(key); if (re != null) { /** * value could be GATEWAY_SENDER_EVENT_IMPL_VALUE or region entry value. */ @Unretained(OffHeapIdentifier.GATEWAY_SENDER_EVENT_IMPL_VALUE) Object value = re._getValue(); if (value instanceof Chunk) { result.add((Chunk) value); } } } }
@Override public long getRowsInReservoir() { // TODO: this needs to be made efficient and PRStats must be updated during // creation rather than iterate in every call if (parRegion.isDataStore()) { int numLocalEntries = 0; Iterator itr = parRegion.localEntriesIterator((InternalRegionFunctionContext)null, true, false, true, null); while (itr.hasNext()) { RegionEntry re = (RegionEntry)itr.next(); Sizeable value = (Sizeable)re._getValue(); long valSize = value.getSizeInBytes(); if (valSize > minimumReservoirEntrySize) { numLocalEntries += (valSize - minimumReservoirEntrySize) / Sizeable.PER_OBJECT_OVERHEAD; } } return numLocalEntries; } else { return ManagementConstants.ZERO; } } }
private void basicGetRegionLiveChunks(LocalRegion r, List<Chunk> result) { for (RegionEntry entry : r.entries.regionEntries()) { /** * value could be GATEWAY_SENDER_EVENT_IMPL_VALUE or region entry value. */ @Unretained(OffHeapIdentifier.GATEWAY_SENDER_EVENT_IMPL_VALUE) Object value; value = entry._getValue(); if(value instanceof GatewaySenderEventImpl) { value = ((GatewaySenderEventImpl) value).getValueObject(); } if (value instanceof Chunk) { result.add((Chunk) value); } } }
@Override public int calculateRegionEntryValueSize(RegionEntry re) { if (!this.isInternalRegion() && callback.isSnappyStore()) { return calcMemSize(re._getValue()); } else { return 0; } }
private long getMemoryAddress(Region region, String key) { Object entry = ((LocalRegion) region).getRegionEntry(key)._getValue(); assertTrue(entry instanceof Chunk); long memoryAddress = ((Chunk)entry).getMemoryAddress(); assertTrue(memoryAddress > 0); return memoryAddress; }
public void run2() throws CacheException { Region region = createRegion(name); // Put key2 in the region before any callbacks are // registered, so it can be destroyed later region.put(key2, value2); assertEquals(1, region.size()); if (region.getAttributes().getEnableOffHeapMemory() && !(region instanceof PartitionedRegion)) { GemFireCacheImpl gfc = (GemFireCacheImpl) getCache(); SimpleMemoryAllocatorImpl ma = (SimpleMemoryAllocatorImpl) gfc.getOffHeapStore(); LocalRegion reRegion; reRegion = (LocalRegion) region; RegionEntry re = reRegion.getRegionEntry(key2); MemoryChunkWithRefCount mc = (MemoryChunkWithRefCount) re._getValue(); assertEquals(1, mc.getRefCount()); assertEquals(1, ma.getStats().getObjects()); } } };
public void run2() throws CacheException { Region region = getRootRegion().getSubregion(name); region.put(key, oldValue, arg); assertEquals(2, region.size()); if (region.getAttributes().getEnableOffHeapMemory() && !(region instanceof PartitionedRegion)) { GemFireCacheImpl gfc = (GemFireCacheImpl) getCache(); SimpleMemoryAllocatorImpl ma = (SimpleMemoryAllocatorImpl) gfc.getOffHeapStore(); assertEquals(2, ma.getStats().getObjects()); LocalRegion reRegion; reRegion = (LocalRegion) region; MemoryChunkWithRefCount mc = (MemoryChunkWithRefCount) reRegion.getRegionEntry(key)._getValue(); assertEquals(1, mc.getRefCount()); } } });
public void run2() throws CacheException { Region region = getRootRegion().getSubregion(name); try { region.put(key, newValue, exception); fail("Should have thrown a CacheWriterException"); } catch (CacheWriterException ex) { Region.Entry entry = region.getEntry(key); assertEquals(oldValue, entry.getValue()); assertEquals(2, region.size()); if (region.getAttributes().getEnableOffHeapMemory() && !(region instanceof PartitionedRegion)) { GemFireCacheImpl gfc = (GemFireCacheImpl) getCache(); SimpleMemoryAllocatorImpl ma = (SimpleMemoryAllocatorImpl) gfc.getOffHeapStore(); assertEquals(2, ma.getStats().getObjects()); LocalRegion reRegion; reRegion = (LocalRegion) region; MemoryChunkWithRefCount mc = (MemoryChunkWithRefCount) reRegion.getRegionEntry(key)._getValue(); assertEquals(1, mc.getRefCount()); } } } });
if (GemFireCacheImpl.hasNewOffHeap()) { Object value = re._getValue(); if (value instanceof SerializedDiskBuffer) { ((SerializedDiskBuffer)value).release();
final Object faultedOutValue = entry._getValue(); if (faultedOutValue != null) { final Class<?> fClass = faultedOutValue.getClass();
Object ev = ((RegionEntry)entry)._getValue(); if (ev == null || Token.isInvalidOrRemoved(ev)) { snapShotKeyBytes = true;
Object ev = ((RegionEntry)entry)._getValue(); if (ev == null || Token.isInvalidOrRemoved(ev)) { snapShotKeyBytes = true;
Object ev = ((RegionEntry)entry)._getValue(); if (ev == null || Token.isInvalidOrRemoved(ev)) { snapShotKeyBytes = true;
boolean retVal = false; try { final Object memoryValue = re._getValue(); final int oldSize = _getOwner().calculateValueSize(memoryValue); if (_getOwner().isSnapshotEnabledRegion() /*&& re.getVersionStamp() != null && re.getVersionStamp()