You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2016/05/11 18:09:36 UTC
[08/10] incubator-geode git commit: GEODE-1289: remove @Retained from
getValueInVM
GEODE-1289: remove @Retained from getValueInVM
@Retained has been removed from the getValueInVM declaration
and callers have been changed to no longer act as if the result
of getValueInVM might be off-heap.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/3ebcf1f7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/3ebcf1f7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/3ebcf1f7
Branch: refs/heads/feature/GEODE-1371
Commit: 3ebcf1f750f3692179219b80737a39289d90c72d
Parents: f4a1679
Author: Darrel Schneider <ds...@pivotal.io>
Authored: Tue May 10 16:12:56 2016 -0700
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Wed May 11 10:40:26 2016 -0700
----------------------------------------------------------------------
.../query/internal/index/AbstractIndex.java | 12 +--------
.../internal/cache/AbstractRegionEntry.java | 12 +++------
.../internal/cache/AbstractRegionMap.java | 26 +++-----------------
.../gemfire/internal/cache/RegionEntry.java | 2 --
4 files changed, 8 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/3ebcf1f7/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/AbstractIndex.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/AbstractIndex.java b/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/AbstractIndex.java
index 96e83b2..393428b 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/AbstractIndex.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/AbstractIndex.java
@@ -1472,23 +1472,13 @@ public abstract class AbstractIndex implements IndexProtocol
valuesInRegion = evaluateIndexIteratorsFromRE(re, context);
valueInIndex = verifyAndGetPdxDomainObject(value);
} else{
- @Released Object val = re.getValueInVM(context.getPartitionedRegion());
- StoredObject valToFree = null;
- if (val instanceof StoredObject) {
- valToFree = (StoredObject)val;
- }
- try {
+ Object val = re.getValueInVM(context.getPartitionedRegion());
if (val instanceof CachedDeserializable) {
val = ((CachedDeserializable)val).getDeserializedValue(getRegion(), re);
}
val = verifyAndGetPdxDomainObject(val);
valueInIndex = verifyAndGetPdxDomainObject(value);
valuesInRegion = evaluateIndexIteratorsFromRE(val, context);
- } finally {
- if (valToFree != null) {
- valToFree.release();
- }
- }
}
} catch (Exception e) {
// TODO: Create a new LocalizedString for this.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/3ebcf1f7/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionEntry.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionEntry.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionEntry.java
index 481c3be..25cc818 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionEntry.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionEntry.java
@@ -557,20 +557,18 @@ public abstract class AbstractRegionEntry implements RegionEntry,
}
- @Retained
public final Object getValueInVM(RegionEntryContext context) {
ReferenceCountHelper.createReferenceCountOwner();
- @Retained Object v = _getValueRetain(context, true);
+ @Released Object v = _getValueRetain(context, true);
if (v == null) { // should only be possible if disk entry
v = Token.NOT_AVAILABLE;
}
- @Retained Object result = OffHeapHelper.copyAndReleaseIfNeeded(v);
+ Object result = OffHeapHelper.copyAndReleaseIfNeeded(v);
ReferenceCountHelper.setReferenceCountOwner(null);
return result;
}
- @Retained
public Object getValueInVMOrDiskWithoutFaultIn(LocalRegion owner) {
return getValueInVM(owner);
}
@@ -642,8 +640,7 @@ public abstract class AbstractRegionEntry implements RegionEntry,
// Because the pr meta data region will not have an LRU.
newValueToWrite = ((CachedDeserializable) newValueToWrite).getDeserializedValue(region, null);
if (!create && newValueToWrite instanceof Versionable) {
- @Retained @Released final Object oldValue = getValueInVM(region); // Heap value should always be deserialized at this point // OFFHEAP will not be deserialized
- try {
+ final Object oldValue = getValueInVM(region); // Heap value should always be deserialized at this point // OFFHEAP will not be deserialized
// BUGFIX for 35029. If oldValue is null the newValue should be put.
if(oldValue == null) {
putValue = true;
@@ -653,9 +650,6 @@ public abstract class AbstractRegionEntry implements RegionEntry,
Versionable ov = (Versionable) oldValue;
putValue = nv.isNewerThan(ov);
}
- } finally {
- OffHeapHelper.release(oldValue);
- }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/3ebcf1f7/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionMap.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionMap.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionMap.java
index 75a1e32..5248d3d 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionMap.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegionMap.java
@@ -1588,8 +1588,7 @@ public abstract class AbstractRegionMap implements RegionMap {
synchronized (re) {
if (!re.isRemoved() || re.isTombstone()) {
EntryEventImpl sqlfEvent = null;
- @Retained @Released Object oldValue = re.getValueInVM(owner);
- try {
+ Object oldValue = re.getValueInVM(owner);
final int oldSize = owner.calculateRegionEntryValueSize(re);
// Create an entry event only if the calling context is
// a receipt of a TXCommitMessage AND there are callbacks installed
@@ -1672,9 +1671,6 @@ public abstract class AbstractRegionMap implements RegionMap {
} finally {
if (!cbEventInPending) cbEvent.release();
}
- } finally {
- OffHeapHelper.release(oldValue);
- }
}
}
} finally {
@@ -1959,18 +1955,14 @@ public abstract class AbstractRegionMap implements RegionMap {
if (!oldRe.isRemoved() &&
(fp != null && fp.getCqCount() > 0)) {
- @Retained @Released Object oldValue = oldRe.getValueInVM(owner); // OFFHEAP EntryEventImpl oldValue
+ Object oldValue = oldRe.getValueInVM(owner); // OFFHEAP EntryEventImpl oldValue
// this will not fault in the value.
- try {
if (oldValue == Token.NOT_AVAILABLE){
event.setOldValue(oldRe.getValueOnDiskOrBuffer(owner));
} else {
event.setOldValue(oldValue);
}
- } finally {
- OffHeapHelper.release(oldValue);
- }
}
boolean isCreate = false;
try {
@@ -2196,14 +2188,8 @@ public abstract class AbstractRegionMap implements RegionMap {
if (re.isValueNull()) {
event.setOldValue(re.getValueOnDiskOrBuffer(owner));
} else {
-
- @Retained @Released Object v = re.getValueInVM(owner);
-
- try {
- event.setOldValue(v); // OFFHEAP escapes to EntryEventImpl oldValue
- } finally {
- OffHeapHelper.release(v);
- }
+ Object v = re.getValueInVM(owner);
+ event.setOldValue(v); // OFFHEAP escapes to EntryEventImpl oldValue
}
}
final boolean oldWasTombstone = re.isTombstone();
@@ -2400,7 +2386,6 @@ public abstract class AbstractRegionMap implements RegionMap {
final boolean oldWasTombstone = oldRe.isTombstone();
final int oldSize = owner.calculateRegionEntryValueSize(oldRe);
Object oldValue = oldRe.getValueInVM(owner); // OFFHEAP eei
- try {
// Create an entry event only if the calling context is
// a receipt of a TXCommitMessage AND there are callbacks
// installed
@@ -2462,9 +2447,6 @@ public abstract class AbstractRegionMap implements RegionMap {
} finally {
if (!cbEventInPending) cbEvent.release();
}
- } finally {
- OffHeapHelper.release(oldValue);
- }
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/3ebcf1f7/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEntry.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEntry.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEntry.java
index bedbf81..09aef2a 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEntry.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEntry.java
@@ -283,7 +283,6 @@ public interface RegionEntry {
*
* @see LocalRegion#getValueInVM
*/
- @Retained
public Object getValueInVM(RegionEntryContext context);
/**
* Returns the value of an entry as it resides on disk. For
@@ -383,7 +382,6 @@ public interface RegionEntry {
* return a temporary copy. For SQLFabric this is used during table scans in
* queries when faulting in every value will be only an unnecessary overhead.
*/
- @Retained
public Object getValueInVMOrDiskWithoutFaultIn(LocalRegion owner);
/**