private boolean reHasDelta(LocalRegion owner, RegionEntry re) { @Retained @Released Object oVal = re.getValueOffHeapOrDiskWithoutFaultIn(owner); try { if (oVal != null && oVal instanceof ListOfDeltas) { return true; } return false; } finally { OffHeapHelper.release(oVal); } }
public <K, V> SnapshotRecord(LocalRegion region, Entry<K, V> entry) throws IOException { key = BlobHelper.serializeToBlob(entry.getKey()); if (entry instanceof NonTXEntry && region != null) { @Released Object v = ((NonTXEntry) entry).getRegionEntry().getValueOffHeapOrDiskWithoutFaultIn(region); try { value = convertToBytes(v); } finally { OffHeapHelper.release(v); } } else { value = convertToBytes(entry.getValue()); } }
public <K, V> SnapshotRecord(LocalRegion region, Entry<K, V> entry) throws IOException { key = BlobHelper.serializeToBlob(entry.getKey()); if (entry instanceof NonTXEntry && region != null) { @Released Object v = ((NonTXEntry) entry).getRegionEntry().getValueOffHeapOrDiskWithoutFaultIn(region); try { value = convertToBytes(v); } finally { OffHeapHelper.release(v); } } else { value = convertToBytes(entry.getValue()); } }
/** * establish the old value in this event as the current cache value, * whether in memory or on disk */ public final void setOldValueForQueryProcessing() { RegionEntry reentry = this.region.entries.getEntry(this.getKey()); if (reentry != null) { @Retained Object v = reentry.getValueOffHeapOrDiskWithoutFaultIn(this.region); if ( !(v instanceof Token) ) { // v has already been retained. basicSetOldValue(v); // this event now owns the retention of v. } } }
/** * establish the old value in this event as the current cache value, * whether in memory or on disk */ public void setOldValueForQueryProcessing() { RegionEntry reentry = this.region.entries.getEntry(this.getKey()); if (reentry != null) { @Retained Object v = reentry.getValueOffHeapOrDiskWithoutFaultIn(this.region); if ( !(v instanceof Token) ) { // v has already been retained. basicSetOldValue(v); // this event now owns the retention of v. } } }
/** * Returns either a byte[] or byte[][] or OffHeapByteSource depending upon the type of entry & data * @param region * @param entry * @return */ @Retained public static Object getValueWithoutFaultIn(final LocalRegion region, final RegionEntry entry) { @Retained final Object value = entry.getValueOffHeapOrDiskWithoutFaultIn(getDataRegion( region, entry)); if (!isValueToken(value)) { return value; } return null; }
/** * Returns either a byte[] or byte[][] or OffHeapByteSource depending upon the type of entry & data * @param region * @param entry * @return */ @Retained public static Object getValueWithoutFaultIn(final LocalRegion region, final RegionEntry entry) { @Retained final Object value = entry.getValueOffHeapOrDiskWithoutFaultIn(getDataRegion( region, entry)); if (!isValueToken(value)) { return value; } return null; }
/** * Returns either a byte[] or byte[][] or OffHeapByteSource depending upon the type of entry & data * @param region * @param entry * @return */ @Retained public static Object getValueWithoutFaultIn(final LocalRegion region, final RegionEntry entry) { @Retained final Object value = entry.getValueOffHeapOrDiskWithoutFaultIn(getDataRegion( region, entry)); if (!isValueToken(value)) { return value; } return null; }
@Override public List asList() { if(valueInList == null){ valueInList = new ArrayList(1); } valueInList.clear(); Object val = this.entry.getValueOffHeapOrDiskWithoutFaultIn((LocalRegion) getRegion()); if (val instanceof Chunk) { @Retained @Released Chunk ohval = (Chunk) val; try { // TODO OFFHEAP: val may be off-heap PdxInstance val = ohval.getDeserializedValue(getRegion(), this.entry); } finally { ohval.release(); } } else if (val instanceof CachedDeserializable) { val = ((CachedDeserializable)val).getDeserializedValue(getRegion(), this.entry); } valueInList.add(val); return valueInList; }
private Object getTargetObjectForUpdate(RegionEntry entry) { if (this.indexOnValues) { Object o = entry.getValueOffHeapOrDiskWithoutFaultIn((LocalRegion) getRegion()); try { if (o instanceof Chunk) { Chunk ohval = (Chunk) o; try { o = ohval.getDeserializedForReading(); } finally { ohval.release(); } } else if (o instanceof CachedDeserializable) { o = ((CachedDeserializable)o).getDeserializedForReading(); } } catch (EntryDestroyedException ede) { return Token.INVALID; } return o; } else if (this.indexOnRegionKeys) { return entry.getKey(); } return ((LocalRegion) getRegion()).new NonTXEntry(entry); }
@Override public Object[] toArray() { if(valueInArray == null){ valueInArray = new Object[1]; } Object val = this.entry.getValueOffHeapOrDiskWithoutFaultIn((LocalRegion) getRegion()); if (val instanceof Chunk) { @Retained @Released Chunk ohval = (Chunk) val; try { // TODO OFFHEAP: val may be off-heap PdxInstance val = ohval.getDeserializedValue(getRegion(), this.entry); } finally { ohval.release(); } } else if (val instanceof CachedDeserializable) { val = ((CachedDeserializable)val).getDeserializedValue(getRegion(), this.entry); } valueInArray[0] = val; return valueInArray; }
/** * @return possible OFF_HEAP_OBJECT (caller must release) */ @Retained public static Object convertOffHeapEntrytoByteSourceRetain( RegionEntry offheap, LocalRegion rgn, boolean faultIn, boolean useValueInVMOnly) { @Retained Object obj = null; if (useValueInVMOnly) { obj = offheap.getValueInVM(null); } else { if (faultIn) { obj = offheap.getValue(rgn); } else { obj = offheap.getValueOffHeapOrDiskWithoutFaultIn(rgn); } } if (!isValueToken(obj)) { if (!(obj instanceof DataAsAddress)) { return obj; } else { return encodedAddressToObject(((DataAsAddress)obj).getEncodedAddress()); } } return null; }
/** * @return possible OFF_HEAP_OBJECT (caller must release) */ @Retained public static Object convertOffHeapEntrytoByteSourceRetain( RegionEntry offheap, LocalRegion rgn, boolean faultIn, boolean useValueInVMOnly) { @Retained Object obj = null; if (useValueInVMOnly) { obj = offheap.getValueInVM(null); } else { if (faultIn) { obj = offheap.getValue(rgn); } else { obj = offheap.getValueOffHeapOrDiskWithoutFaultIn(rgn); } } if (!isValueToken(obj)) { if (!(obj instanceof DataAsAddress)) { return obj; } else { return encodedAddressToObject(((DataAsAddress)obj).getEncodedAddress()); } } return null; }
/** * @return possible OFF_HEAP_OBJECT (caller must release) */ @Retained public static Object convertOffHeapEntrytoByteSourceRetain( RegionEntry offheap, LocalRegion rgn, boolean faultIn, boolean useValueInVMOnly) { @Retained Object obj = null; if (useValueInVMOnly) { obj = offheap.getValueInVM(null); } else { if (faultIn) { obj = offheap.getValue(rgn); } else { obj = offheap.getValueOffHeapOrDiskWithoutFaultIn(rgn); } } if (!isValueToken(obj)) { if (!(obj instanceof DataAsAddress)) { return obj; } else { return encodedAddressToObject(((DataAsAddress)obj).getEncodedAddress()); } } return null; }
&& (resolver.requiresGlobalIndex() || resolver .requiresConnectionContext())) { @Released Object value = entry.getValueOffHeapOrDiskWithoutFaultIn(region); if (value == null || Token.isRemoved(value)) { throw new EntryDestroyedException("getRoutingObjectFromGlobalIndex "
&& (resolver.requiresGlobalIndex() || resolver .requiresConnectionContext())) { @Released Object value = entry.getValueOffHeapOrDiskWithoutFaultIn(region); if (value == null || Token.isRemoved(value)) { throw new EntryDestroyedException("getRoutingObjectFromGlobalIndex "
&& (resolver.requiresGlobalIndex() || resolver .requiresConnectionContext())) { @Released Object value = entry.getValueOffHeapOrDiskWithoutFaultIn(region); if (value == null || Token.isRemoved(value)) { throw new EntryDestroyedException("getRoutingObjectFromGlobalIndex "
@Override public SelectResults getValues() { if(values == null){ values = new ResultsBag(((GemFireCacheImpl)getRegion().getCache()).getCachePerfStats()); values.setElementType(valueType); } values.clear(); Object val = this.entry.getValueOffHeapOrDiskWithoutFaultIn((LocalRegion) getRegion()); if (val instanceof Chunk) { @Retained @Released Chunk ohval = (Chunk) val; try { // TODO OFFHEAP: val may be off-heap PdxInstance val = ohval.getDeserializedValue(getRegion(), this.entry); } finally { ohval.release(); } } else if (val instanceof CachedDeserializable) { val = ((CachedDeserializable)val).getDeserializedValue(getRegion(), this.entry); } values.add(val); return values; }
@Released Object oldValueInVMOrDisk = re.getValueOffHeapOrDiskWithoutFaultIn(event.getLocalRegion()); SimpleMemoryAllocatorImpl.unskipRefCountTracking(); if (oldValueInVMOrDisk == Token.NOT_AVAILABLE) {
@Released Object oldValueInVMOrDisk = re.getValueOffHeapOrDiskWithoutFaultIn(event.getLocalRegion()); ReferenceCountHelper.unskipRefCountTracking(); try {